
修饰符
每天都想改行的码农
种一棵树,最好的机会是十年前,再者就是现在了!
展开
-
iOS-如何正确使用const,static,extern
一、const与宏的区别(面试题): const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量。 编译时刻:宏是预编译(编译之前处理),const是编译阶段。 编译检查:宏不做检查,不会报编译错误,只是替换,const会编译检查,会报编译错误。 宏的好处:宏能定义一些函数,方法。 const不能。 宏的坏处:使用大量宏,容易造成编译时间久,...原创 2018-08-19 16:43:04 · 814 阅读 · 0 评论 -
iOS----@dynamic
一、@dynamic与@synthesize的区别 @property有两个对应的词,一个是@synthesize,一个是@dynamic。如果@synthesize和@dynamic都没写,那么默认的就是@syntheszie var = _var; @synthesize的语义是如果你没有手动实现setter方法和getter方法,那么编译器会自动为你加上这两个方法。 @dy...原创 2018-08-19 16:44:43 · 2382 阅读 · 0 评论 -
IOS---原子属性atomic和非原子属性nonatomic
一:原子属性和非原子属性 1. OC在定义属性时有nonatomic和atomic两种选择,默认为atomic属性 atomic:原子属性,为setter方法加自旋锁(即为单写多读) nonatomic:非原子属性,不会为setter方法加锁。 2. nonatomic和atomic的对比 atomic:线程安全,需要消耗大量的资源; nonatomic:非线程安全,适合内存小的...原创 2018-10-28 16:21:33 · 1488 阅读 · 0 评论