
招聘靠谱程序员
文章平均质量分 65
SuAdrenine
我就是我,最璀璨的焰火!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
招聘靠谱程序员系列:1 代码风格优化与纠错
风格纠错 答: // 1)、使用NS_ENUM而不是C语言类型的枚举enum typedef NS_ENUM(NSInteget, XBYGender) { //使用gender比sex正式 XBYGenderMan, XBYGenderWoman } // 2)、NSString一般使用copy修饰 // 3)、一般定义一个初始化方法来对属性进行赋值,而把具体属性隐藏起来(...原创 2018-12-09 13:59:06 · 319 阅读 · 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 · 359 阅读 · 0 评论 -
招聘靠谱程序员系列:3 怎么用 copy 关键字?
答: 1)、一般对于那些遵循NSCopying协议的类才能使用copy,例如针对那些有不可变类型和可变类型的类,NSString, NSArray 与之对应的是NSMutableString, NSMutableArray等。因为他们之间可能进行赋值操作,为确保对象中的字符串值不会无意间变动,应该在设置新属性值时拷贝一份。 2)、block一般也使用copy,这是MRC遗留下来的使用习惯 tips...原创 2018-12-09 15:26:56 · 476 阅读 · 0 评论 -
招聘靠谱程序员系列:4 这个写法会出什么问题: @property (copy) NSMutableArray *array
答: 1)、copy修饰的属性进行赋值的时候会生成一份不可变的副本,此时修改副本array(增删之类的操作)会提示找不到方法而报异常; 2)、不写原子性修饰词默认使用atomic,而atomic性能比nonatomic差很多。 ...原创 2018-12-09 17:22:46 · 463 阅读 · 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 · 657 阅读 · 0 评论 -
招聘靠谱程序员系列:6 @property 的本质是什么?ivar、getter、setter 是如何生成并添加到这个类中的?
答: 1)、@property 的本质是: @property = ivar + getter + setter 翻译出来就是: 属性(property)等于实例变量(ivar)加上存取方法(getter和setter,实例变量用于存储数据,而存取方法用来读取写入该实例变量的数据有swift开发经验的人对这个感触应该表较深(存储属性和计算属性) 编译器会自动为@property添加实例变量和存取...原创 2018-12-10 09:26:05 · 336 阅读 · 0 评论