在Objective C ARC中,[[[[[[MYObject alloc] init] callingSomeMethod]安全嗎?即使我不分配給變量,它會被釋放嗎?Objective C ARC發佈時未指定變量
0
A
回答
1
是的。如果你對此感到緊張,很容易驗證。只要把NSLog(@「it did!」);在該對象的-dealloc方法中,並檢查以確保它記錄。
0
如果你不需要物體在callingSomeMethod
返回後生活,那麼做[[[MyObject alloc] init] callingSomeMethod]
是安全的。
如果您需要對象在callingSomeMethod
返回後生存,那麼在callingSomeMethod
返回之前,您的程序需要創建一個強引用。例子:
- 如果
callingSomeMethod
集對象作爲NSTimer
的目標,你是安全的,因爲NSTimer
保留其目標。 - 如果
callingSomeMethod
只設置對象爲UITableView
的代表,你是不是安全,因爲UITableView
不不保留其委託。在這種情況下,您還必須在其他地方創建對該對象的強引用。
相關問題
- 1. Objective C ARC和實例變量iOS SDK
- 2. Objective-C ARC __weak變量引用觸發器警告「__weak屬性不能在自動變量中指定」
- 3. Objective-c:爲什麼Core Foundation變量需要在ARC中顯式發佈?
- 4. 指針VS變量,Objective-C
- 5. ARC不會發布實例變量
- 6. ARC in Objective-C
- 7. Objective C and ARC
- 8. 發佈Objective-C對象與ARC數組C對象
- 9. 發佈C庫(使用ARC)
- 10. Objective-C:理解ARC
- 11. C#中未指定類型的變量?
- 12. 如何在Objective C中用ARC聲明一個指針成員變量?
- 13. Objective-c屬性沒有在ARC下發布
- 14. Objective C ARC NSMutableArray - 從函數返回 - 沒有發佈?
- 15. 在Objective-C++中沒有發佈的對象使用ARC
- 16. Objective-c ARC自動發佈我的對象
- 17. 未定義指數:發佈
- 18. Objective-C++ ARC和C++容器
- 19. Objective-C實例變量指針
- 20. 如何檢測一個變量是否未在Objective-C中發佈?
- 21. 如何在ARC中釋放實例變量 - Objective-C
- 22. ARC上的Objective-c實例變量內存問題
- 23. Objective C變量值未被保存
- 24. 自定義dealloc和ARC(Objective-C)
- 25. Objective-C未分配指針
- 26. 指定指針 - Objective-C
- 27. Objective-C @implementation變量
- 28. ARC語義問題Objective-c
- 29. 發佈變量未發送到DB - 笨
- 30. Objective C指定字典到變量並訪問它