各种杂项

-号是实例方法 + 是类方法

nonatomic:非原子性访问,对属性赋值的时候不加锁,多线程并发访问会提高性能
atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。
        atomic
                设置成员变量的@property属性时,默认为atomic,提供多线程安全。
       

        在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。加了atomic,setter函数会变成下面这样:
                        {lock}
                             

  if (property != newValue) { 
         

                              [property release]; 
               

                        property = [newValue retain]; 
         

                      }
             

          {unlock}
     

  nonatomic
     

  禁止多线程,变量保护,提高性能。

posted @ 2015-10-14 14:16  E山猫  阅读(111)  评论(0编辑  收藏  举报