2016.9.6
1.@property的本质是什么?
2.什么情况用weak关键字,相比assign/strong有什么区别?
3.怎么用copy关键字?如何重写带copy关键字的setter?
4.这个写法会出什么问题,@property(copy)NSMutableArray * array;
5.@synthesize和@dynamic有什么作用?
6.objc中的类方法和实例方法有什么本质区别和联系?
7.简述block的基本原理和使用注意事项。
8.简述runtime原理,及其基本应用场景。
9.浅拷贝和深拷贝有什么区别?
10.timer的间隔周期准备吗?为什么?怎么解决?
11.iOS的内存管理机制,自动释放池是什么,如何工作?
网友评论
比如声明一个属性用copy修饰
@property(nonatomic, copy) NSMutableArray * array;
以下情况会crash掉
self.array = [[NSMutableArray alloc] init];
NSMutableArray * arr = [[NSMutableArray alloc] init];
arr = self.array;
[arr addObject:@1];
原因是:arr = self.array实际是执行了 arr = [self.array copy],copy后的arr变成了不可变数组NSArray类型,所以不可以再进行增删改操作了