嗨,我通常創建另一個類的對象。如果這將會在自動釋放池中,請你給我打電話嗎?或者我們應該手動釋放它。另一個類的Dealloc對象
-1
A
回答
1
如果初始化複製或新的你有,如果你把一個autorlease與分配那麼他們將被自動釋放
例如取消分配這些
Foo *foo = [[Foo alloc] init]; //you'll have release it somewhere yourself
而且
Foo *foo = [[[Foo alloc] init] autorelease];// this will be autreleased
1
簡單的情況是:如果你使用init,你有責任釋放它,無論是通過調用release還是調用autorelease。
例如
NSString *myString = [NSString alloc] init]; // You need to release this
...
[myString release]; // Now it's released - don't use it again!
,或者如果你打算把它送給別人
NSString *myString = [NSString alloc] init]; // This needs releasing
...
return [myString autorelease]; // You are finished with it but someone else might want it
然而,有一些其他情況。
NSString *myString = [NSString stringWithFormat:@"hi"];
此對象已在autorelease池中 - 不要釋放它!
NSString *secondString = [myString copy];
該對象需要釋放 - 這是不自動釋放。
經驗法則:任何與名稱中的init,copy或new相關的東西 - 您製作它,您釋放它。其他任何東西都會被自動釋放。
+1
經驗法則不是很正確:它不是`init`,而是`alloc`,它要求釋放,另外它缺少`new`。 – danyowdee 2011-01-28 16:25:07
相關問題
- 1. 編輯另一個類的對象?
- 2. 隱藏另一個類的對象
- 3. 訪問另一個類的MainActivity對象
- 4. 實現另一個類中的對象
- 5. php5訪問另一個類的對象
- 6. 控制另一個類中的對象
- 7. Mockito另一個類的對象方法
- 8. 創建另一個類的Python對象
- 9. 使用另一個類中的對象
- 10. 從另一個對象類型創建一個對象
- 11. 創建一個具有另一個類的對象的類
- 12. Python使用另一個類中的一個類的對象
- 13. 將一個類對象的指針分配給另一個類對象C++
- 14. 將一個類對象分配給C++中的另一個類對象
- 15. 如何從一個類對象的值保存到另一個類對象
- 16. 如何將類對象複製到另一個類對象
- 17. 從另一個子類對象創建子類對象
- 18. 將一個類的對象傳遞給另一個類
- 19. 聲明一個類的對象到另一個類
- 20. 從python的另一個類創建一個類對象
- 21. 在另一個類中調用一個類的對象
- 22. 如何複製一個類的對象在另一個類
- 23. 在另一個類中初始化一個類的對象
- 24. 從一個類到另一個類的循環調用對象
- 25. 從另一個類插入對象
- 26. Java - 從另一個類更新對象
- 27. 在另一個類中設置對象?
- 28. 調用從另一個類對象
- 29. 將對象傳遞給另一個類
- 30. 從另一個類訪問對象?
您需要顯示一些代碼或更好地解釋您的問題,或兩者兼而有之。你創建的一些對象可能是自動釋放的,其他的可能不是...... – 2011-01-25 06:55:59