@hanryChen 你的我都知道。我的意思就是層主引用的文中的話開頭那句是有問題的。說atomic不能保證線程安全和最后一段想矛盾,表述有問題。
[爆棧熱門 iOS 問題] atomic 和 nonatomic 有什么區(qū)別忆肾?系列文集:爆棧熱門 iOS 問題。目錄在此。倉薯翻譯莽鸭,歡迎指正:) 問題 在定義 property 的時候,atomic 和 nonatomic 有何區(qū)別吃靠? 這仨有什么不同硫眨?...
@hanryChen 你的我都知道。我的意思就是層主引用的文中的話開頭那句是有問題的。說atomic不能保證線程安全和最后一段想矛盾,表述有問題。
[爆棧熱門 iOS 問題] atomic 和 nonatomic 有什么區(qū)別忆肾?系列文集:爆棧熱門 iOS 問題。目錄在此。倉薯翻譯莽鸭,歡迎指正:) 問題 在定義 property 的時候,atomic 和 nonatomic 有何區(qū)別吃靠? 這仨有什么不同硫眨?...
@hanryChen 不是前面我引用的,是文章最后一段。
[爆棧熱門 iOS 問題] atomic 和 nonatomic 有什么區(qū)別礁阁?系列文集:爆棧熱門 iOS 問題巧号。目錄在此。倉薯翻譯姥闭,歡迎指正:) 問題 在定義 property 的時候丹鸿,atomic 和 nonatomic 有何區(qū)別? 這仨有什么不同棚品?...
@hanryChen 你看我前面引用的文中的一段話靠欢,里面都說了,atomic想辦法保障了線程安全铜跑。
[爆棧熱門 iOS 問題] atomic 和 nonatomic 有什么區(qū)別门怪?系列文集:爆棧熱門 iOS 問題。目錄在此锅纺。倉薯翻譯掷空,歡迎指正:) 問題 在定義 property 的時候,atomic 和 nonatomic 有何區(qū)別囤锉? 這仨有什么不同坦弟?...
@hanryChen 從文中這段話可以看出“假設有一個 atomic 的屬性 "name",如果線程 A 調(diào)[self setName:@"A"]官地,線程 B 調(diào)[self setName:@"B"]酿傍,線程 C 調(diào)[self name],那么所有這些不同線程上的操作都將依次順序執(zhí)行——也就是說驱入,如果一個線程正在執(zhí)行 getter/setter拧粪,其他線程就得等待。因此沧侥,屬性 name 是讀/寫安全的”可霎,如果一個屬性是atomic的,那幾個線程同時對其操作宴杀,那么必然是要排隊的癣朗,不會出現(xiàn)你所描述的情況,你說描述的應該是nonatomic旺罢,所以我才說他文中那塊寫錯了旷余。
[爆棧熱門 iOS 問題] atomic 和 nonatomic 有什么區(qū)別?系列文集:爆棧熱門 iOS 問題扁达。目錄在此正卧。倉薯翻譯,歡迎指正:) 問題 在定義 property 的時候跪解,atomic 和 nonatomic 有何區(qū)別炉旷? 這仨有什么不同?...
這里的atomic應該是寫錯了,應該是nonatomic
[爆棧熱門 iOS 問題] atomic 和 nonatomic 有什么區(qū)別窘行?系列文集:爆棧熱門 iOS 問題饥追。目錄在此。倉薯翻譯罐盔,歡迎指正:) 問題 在定義 property 的時候但绕,atomic 和 nonatomic 有何區(qū)別? 這仨有什么不同惶看?...
“這兩種寫法cons修飾的是* LMJName,*是指針指向符捏顺,也就是說此時指向內(nèi)存地址是不可變的,而內(nèi)存保存的內(nèi)容時可變的纬黎》荆”個人認為文中這句話不正確。LMJName是指針變量莹桅,而*LMJName是指針指向的變量的值昌执。不過文中說的const修飾變量時的正確位置是沒錯的烛亦。當static NSString * const LMJName時诈泼,LMJName這個指針變量是不可修改的,當然這個指針所指向的值是不變的煤禽。當static NSString const * LMJName或static const NSString * LMJName時const修飾的是*LMJName铐达,而*LMJName是指針LMJName所指向的內(nèi)存中保存的值,這時*LMJName不可修改檬果,而LMJName是可以修改的瓮孙,即LMJName這個指針不指向原來的內(nèi)存中的值了。個人看法选脊,如不對請指出杭抠。
“這兩種寫法cons修飾的是* LMJName,*是指針指向符偏灿,也就是說此時指向內(nèi)存地址是不可變的,而內(nèi)存保存的內(nèi)容時可變的钝的∥檀梗”個人認為文中這句話不正確。LMJName是指針變量硝桩,而*LMJName是指針指向的變量的值沿猜。不過文中說的const修飾變量時的正確位置是沒錯的。當static NSString * const LMJName時碗脊,LMJName這個指針變量是不可修改的啼肩,當然這個指針所指向的值是不變的。當static NSString const * LMJName或static const NSString * LMJName時const修飾的是*LMJName,而*LMJName是指針LMJName所指向的內(nèi)存中保存的值疟游,這時*LMJName不可修改呼畸,而LMJName是可以修改的,即LMJName這個指針不指向原來的內(nèi)存中的值了颁虐。個人看法蛮原,如不對請指出。
iOS定義靜態(tài)變量另绩、靜態(tài)常量儒陨、全局變量靜態(tài)變量 當我們希望一個變量的作用域不僅僅是作用域某個類的某個對象,而是作用域整個類的時候笋籽,這時候就可以使用靜態(tài)變量蹦漠。 staticstatic修飾的變量,是一個私有的全局變...