iOS笔试题(9月)

作者: 郝嗨森 | 来源:发表于2016-09-06 18:04 被阅读265次

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的内存管理机制,自动释放池是什么,如何工作?

相关文章

网友评论

  • 1a392df793c3:第四题好像没问题啊,我运行了下没有报错
    1a392df793c3:@一个等待夏天的秋天 实际测试了下在macOS不会crash, 在iOS上的确是crash了,我之前是在macOS上测试的...
    郝嗨森:在某些情况下会crash,存在安全问题
    比如声明一个属性用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类型,所以不可以再进行增删改操作了

本文标题:iOS笔试题(9月)

本文链接:https://www.haomeiwen.com/subject/megdettx.html