美文网首页
iOS 关于property,selector,strong,

iOS 关于property,selector,strong,

作者: 不要重名就好 | 来源:发表于2016-09-09 17:53 被阅读69次

    1.nonatomic标示非原子属性,很多人只知道它的效率较高,却不知道其含义,其含义是非线程安全的,也就是说多线程修改时不加锁,可能出现多个线程先后修改而出现数据不准确的情况。

    2.unsafe_unretained和assign的作用是一致的,如果对象数据也采用这种方式,这个property就只是指向数据的指针而已,这样说来,似乎assign和weak是一样的,但他们有个很大的区别,在下一条中说明。

    3.weak也只是指向数据而不retain,但是当weak指针指向的数据释放后,weak指针自动变为nil,而assign的不会。

    4.copy和strong作用一致,但是系统会以拷贝的方式来生成新对象,copy常用于NSString等对象,注意要实现copy必须遵循NSCopying或者NSMutableCopying协议。

    5.我们定义了变量后,如果不使用就会出现警告,如果在变量前加__unused前缀,就可以免除警告。其原理是告诉编译器,如果变量未使用就不参与编译。

    6.对于协议中的变量和方法,默认是@required,并且对于变量,必须要重新用property定义。

    相关文章

      网友评论

          本文标题:iOS 关于property,selector,strong,

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