Objective-C 基本概念理解

什么时候用assign、什么时候用retain和copy呢?
推荐做法是NSString用copy
delegate用assign(且一定要用assign),
非objc数据类型,比如int,float等基本数据类型用assign(默认就是assign),
而其它objc类型,比如NSArray,NSDate用retain。

参考来源:http://www.cnblogs.com/andyque/archive/2011/08/03/2125728.html

赋值的时候同时会执行一些任务。
比如:
NSTimer *timer = [NSTimer sheduledTimerWithTimeInterval: 5.0 targer: self selector:@selector(outPutLogs) userInfo: nil repeat: YES];
在给timer赋值的同时,会注册执行重复调用outPutLogs 方法。

再比如:
__block UIBackgroundTaskIdentifier taskId;
taskId = [applacation beginBackgrondTaskWithExpirationHandler: ^{
[applacation endBackgroundTask: taskId];
}];
在用户出发home键之后,应用需要更多的时间处理数据,在这里赋值给taskId的同时,系统会根据用户注册了beginBackgrondTaskWithExpirationHandler: 方法而延长后台时间。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • runtime 和 runloop 作为一个程序员进阶是必须的,也是非常重要的, 在面试过程中是经常会被问到的, ...
    made_China阅读 4,946评论 0 7
  • 父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。• 深拷贝同浅拷贝的区别:浅拷...
    JonesCxy阅读 4,796评论 1 7
  • runtime 和 runloop 作为一个程序员进阶是必须的,也是非常重要的, 在面试过程中是经常会被问到的, ...
    SOI阅读 21,982评论 3 63
  • 《教父》是男人的圣经,是智慧的总和,是一切问题的答案。 这是马里奥·普佐的畅销小说《教父》的一个普遍评价。 对于《...
    清心澜意阅读 12,466评论 1 23
  • 插入排序(Straight Insertion Sort): 基本操作是将一个记录插入到已经排好的有序表中,从而得...
    方圆一里阅读 7,370评论 4 10

友情链接更多精彩内容