![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
招聘靠谱程序员
文章平均质量分 72
SuAdrenine
我就是我,最璀璨的焰火!
展开
-
招聘靠谱程序员系列:1 代码风格优化与纠错
风格纠错答:// 1)、使用NS_ENUM而不是C语言类型的枚举enumtypedef NS_ENUM(NSInteget, XBYGender) { //使用gender比sex正式 XBYGenderMan, XBYGenderWoman}// 2)、NSString一般使用copy修饰// 3)、一般定义一个初始化方法来对属性进行赋值,而把具体属性隐藏起来(...原创 2018-12-09 13:59:06 · 267 阅读 · 0 评论 -
招聘靠谱程序员系列:2 什么情况使用 weak 关键字,相比 assign 有什么不同?
答:1)、什么情况下使用weak:a)、在ARC中修饰代理b)、使用@IBOutlet连接控件c)、当block会造成循环引用2)、与assign的不同assign可以用于非对象类型,而weak必须用于对象类型参考资料:1、区别1).修饰变量类型的区别weak 只可以修饰对象。如果修饰基本数据类型,编译器会报错-“Property with ‘weak’ attrib...原创 2018-12-09 14:29:29 · 305 阅读 · 0 评论 -
招聘靠谱程序员系列:3 怎么用 copy 关键字?
答:1)、一般对于那些遵循NSCopying协议的类才能使用copy,例如针对那些有不可变类型和可变类型的类,NSString, NSArray 与之对应的是NSMutableString, NSMutableArray等。因为他们之间可能进行赋值操作,为确保对象中的字符串值不会无意间变动,应该在设置新属性值时拷贝一份。2)、block一般也使用copy,这是MRC遗留下来的使用习惯tips...原创 2018-12-09 15:26:56 · 433 阅读 · 0 评论 -
招聘靠谱程序员系列:4 这个写法会出什么问题: @property (copy) NSMutableArray *array
答:1)、copy修饰的属性进行赋值的时候会生成一份不可变的副本,此时修改副本array(增删之类的操作)会提示找不到方法而报异常;2)、不写原子性修饰词默认使用atomic,而atomic性能比nonatomic差很多。...原创 2018-12-09 17:22:46 · 411 阅读 · 0 评论 -
招聘靠谱程序员系列:5 如何让自己的类用 copy 修饰符?如何重写带 copy 关键字的 setter?
答:1)、让自己的类可以使用copy修饰符的步骤:a)、让自己的类遵循NSCopying协议b)、实现NSCopying协议中必须实现的代理方法: - (id)copyWithZone:(NSZone *)zone;示例代码:- (id)copyWithZone:(NSZone *)zone { //创建实例的方式比较特殊 Person *p = [[[self...原创 2018-12-09 22:23:02 · 597 阅读 · 0 评论 -
招聘靠谱程序员系列:6 @property 的本质是什么?ivar、getter、setter 是如何生成并添加到这个类中的?
答:1)、@property 的本质是:@property = ivar + getter + setter翻译出来就是:属性(property)等于实例变量(ivar)加上存取方法(getter和setter,实例变量用于存储数据,而存取方法用来读取写入该实例变量的数据有swift开发经验的人对这个感触应该表较深(存储属性和计算属性)编译器会自动为@property添加实例变量和存取...原创 2018-12-10 09:26:05 · 277 阅读 · 0 评论