我已閱讀過渡到ARC筆記,我仍然對屬性的屬性有些混淆/我們可以使用...我們可以使用weak來代替賦值(具有以下優點如果它指向的對象被釋放,則該屬性設置爲零),強取代保留以及代替複製的位置?我們仍然單獨使用拷貝,或者我們需要與拷貝結合很強,例如property (strong,copy)
..也許我需要練習並再次閱讀文檔,因爲ARC對我來說不是很清楚......ARC屬性的新屬性
6
A
回答
11
的Clang ARC documentation有這樣一段話:
副本意味着__strong所有權,以及對二傳手的複製語義的通常行爲。
關於定製的setter方法,它有這樣一段話:
的屬性的指定所有權在其元數據保存下來,但 否則含義是純粹的傳統,除非屬性是 合成。
所以如果你實現自定義setters,你負責在這些setter中實現強或弱的語義。
2
複製隱含強,因爲它會創建副本並轉移所有權。
看到這個文檔:
+0
我們是否仍然可以實現弱和強屬性的setter方法?通過保留的屬性,你實現了setter方法釋放之前的obj並保留傳遞給setter的obj。你在強大的屬性setter方法中做了什麼,因爲你不必使用retain和release ......應該如何弱如果你選擇實現它們,那麼強屬性的setter實現方式會因弧而有所不同?也許差別是相應的伊娃必須弱或強?對不起,如果我的問題是微不足道的...... –
相關問題
- 1. ARC宣佈的屬性屬性 - 瞭解
- 2. ARC和nill屬性
- 3. 使用ARC時重新分配屬性
- 4. 更新與ARC屬性啓用
- 5. ARC和弱IBOutlet屬性
- 6. 是否需要使用ARC的UIView屬性的retain屬性?
- 7. Swift如何在屬性屬性中實現ARC?
- 8. 具有子屬性的依賴屬性更新主屬性?
- 9. Objective-C的ARC屬性重複混亂
- 10. 使用ARC的Objective-C屬性
- 11. 屬性屬性
- 12. Python - 屬性和更新屬性值
- 13. 更新屬性
- 14. 更新屬性
- 15. 保留CTFrameRef屬性使用ARC
- 16. 轉換爲ARC:保留屬性爲unsafe_unretained?
- 17. 使用ARC是否NSMutableArray需要屬性?
- 18. 使用ARC在init內設置屬性?
- 19. ARC強力屬性枚舉錯誤
- 20. 屬性或屬性
- 21. 類:屬性屬性
- 22. jQuery的 - 屬性與屬性
- 23. 設置屬性的屬性
- 24. 類和屬性的屬性
- 25. DTO屬性的屬性
- 26. C#屬性的屬性
- 27. 在ARC下使用IBOutlets屬性的有用性?
- 28. 用貓鼬更新文檔(更新文檔屬性的屬性)
- 29. 創建新屬性
- 30. 屬性不更新
我真的不明白你如何實現強和弱的語義,因爲你不使用保留/發佈保留屬性設置器 –
你的設置最終需要存儲對象指向一個具有「__strong」或「__weak」限定變量的變量。但是,它也可能執行其他操作,如執行「[self setNeedsDisplay]」。 –
所以你在說要存儲由setter設置的變量的ivar應該聲明爲__strong或__weak? –