240 发简信
IP属地:河北
  • @hanryChen 你的我都知道。我的意思就是层主引用的文中的话开头那句是有问题的。说atomic不能保证线程安全和最后一段想矛盾,表述有问题。

    [爆栈热门 iOS 问题] atomic 和 nonatomic 有什么区别?

    系列文集:爆栈热门 iOS 问题。目录在此。仓薯翻译,欢迎指正:) 问题 在定义 property 的时候,atomic 和 nonatomic 有何区别? 这仨有什么不同?...

  • @hanryChen 不是前面我引用的,是文章最后一段。

    [爆栈热门 iOS 问题] atomic 和 nonatomic 有什么区别?

    系列文集:爆栈热门 iOS 问题。目录在此。仓薯翻译,欢迎指正:) 问题 在定义 property 的时候,atomic 和 nonatomic 有何区别? 这仨有什么不同?...

  • @hanryChen 你看我前面引用的文中的一段话,里面都说了,atomic想办法保障了线程安全。

    [爆栈热门 iOS 问题] atomic 和 nonatomic 有什么区别?

    系列文集:爆栈热门 iOS 问题。目录在此。仓薯翻译,欢迎指正:) 问题 在定义 property 的时候,atomic 和 nonatomic 有何区别? 这仨有什么不同?...

  • @hanryChen 从文中这段话可以看出“假设有一个 atomic 的属性 "name",如果线程 A 调[self setName:@"A"],线程 B 调[self setName:@"B"],线程 C 调[self name],那么所有这些不同线程上的操作都将依次顺序执行——也就是说,如果一个线程正在执行 getter/setter,其他线程就得等待。因此,属性 name 是读/写安全的”,如果一个属性是atomic的,那几个线程同时对其操作,那么必然是要排队的,不会出现你所描述的情况,你说描述的应该是nonatomic,所以我才说他文中那块写错了。

    [爆栈热门 iOS 问题] atomic 和 nonatomic 有什么区别?

    系列文集:爆栈热门 iOS 问题。目录在此。仓薯翻译,欢迎指正:) 问题 在定义 property 的时候,atomic 和 nonatomic 有何区别? 这仨有什么不同?...

  • 这里的atomic应该是写错了,应该是nonatomic

    [爆栈热门 iOS 问题] atomic 和 nonatomic 有什么区别?

    系列文集:爆栈热门 iOS 问题。目录在此。仓薯翻译,欢迎指正:) 问题 在定义 property 的时候,atomic 和 nonatomic 有何区别? 这仨有什么不同?...

  • “这两种写法cons修饰的是* LMJName,*是指针指向符,也就是说此时指向内存地址是不可变的,而内存保存的内容时可变的。”个人认为文中这句话不正确。LMJName是指针变量,而*LMJName是指针指向的变量的值。不过文中说的const修饰变量时的正确位置是没错的。当static NSString * const LMJName时,LMJName这个指针变量是不可修改的,当然这个指针所指向的值是不变的。当static NSString const * LMJName或static const NSString * LMJName时const修饰的是*LMJName,而*LMJName是指针LMJName所指向的内存中保存的值,这时*LMJName不可修改,而LMJName是可以修改的,即LMJName这个指针不指向原来的内存中的值了。个人看法,如不对请指出。

  • “这两种写法cons修饰的是* LMJName,*是指针指向符,也就是说此时指向内存地址是不可变的,而内存保存的内容时可变的。”个人认为文中这句话不正确。LMJName是指针变量,而*LMJName是指针指向的变量的值。不过文中说的const修饰变量时的正确位置是没错的。当static NSString * const LMJName时,LMJName这个指针变量是不可修改的,当然这个指针所指向的值是不变的。当static NSString const * LMJName或static const NSString * LMJName时const修饰的是*LMJName,而*LMJName是指针LMJName所指向的内存中保存的值,这时*LMJName不可修改,而LMJName是可以修改的,即LMJName这个指针不指向原来的内存中的值了。个人看法,如不对请指出。

    iOS定义静态变量、静态常量、全局变量

    静态变量 当我们希望一个变量的作用域不仅仅是作用域某个类的某个对象,而是作用域整个类的时候,这时候就可以使用静态变量。 staticstatic修饰的变量,是一个私有的全局变...