こんにちは私は一般的に別のクラスのオブジェクトを作成します。このリリースが自動リリースプールにあれば私に電話してもらえますか?手動でリリースする必要があります。別のクラスのDeallocオブジェクト
答えて
あなたinitは、それらをコピーするか、または新しい場合は、割り当てにautorleaseを入れ、その後、彼らは例えば
Foo *foo = [[Foo alloc] init]; //you'll have release it somewhere yourself
そして
Foo *foo = [[[Foo alloc] init] autorelease];// this will be autreleased
を自動解放される場合は、それらの割り当てを解除する必要があります
単純なケースは、initを使用する場合、リリースを呼び出すか、またはautoreleaseを呼び出して、initをリリースする必要があります。
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"];
このオブジェクトは既に自動解放プールにあります。解放しないでください。
NSString *secondString = [myString copy];
このオブジェクトは解放する必要があります - それはが自動解放ではありません。
親指の規則:名前にinit、copy、またはnewが付いているものはすべてあなたがリリースしました。それ以外はオートリリースされます。
親指のルールは正しくありません。 'init'ではなく' release'を要求する 'alloc'であり、' new'もありません。 – danyowdee
Blast、私はいつも 'new'を忘れています:(私は私の答えを編集しました、ありがとう! – deanWombourne
- 1. 別のクラスのオブジェクトC#
- 2. クラスのオブジェクトを別のクラスに渡す
- 3. クラスのオブジェクトと別のクラスのオブジェクトを含む動的配列
- 4. Rubyでオブジェクト(クラス)を別のオブジェクト(クラス)のパラメータにする方法
- 5. クラス別にオブジェクトを見つけて別のオブジェクトをフェードする
- 6. のdealloc UILabel
- 7. UIViewControllerのDealloc
- 8. 別のクラスのオブジェクトへのポインタ?
- 9. 別のクラスのオブジェクトを参照
- 10. パイソン:コピークラスのオブジェクト別のクラスに
- 11. C++の別のクラスのクラスの複数のオブジェクトをカプセル化
- 12. ターゲット別のクラスでオブジェクト変数
- 13. オブジェクトを別のクラスに変換する
- 14. removeObserver:forKeyPath:in dealloc
- 15. 他のクラスのPythonオブジェクトまたは別のクラスですか?
- 16. Pythonクラスのデータメンバを別のクラスのオブジェクトとして
- 17. 親オブジェクトがdeallocされた後にivarのリリースが遅れる
- 18. OSXプロジェクトのDeallocオブジェクトARCが無効です
- 19. クラスのオブジェクトを別のクラスにコピーするには
- 20. クラスのオブジェクトを別のクラスに作成する方法
- 21. Instruments割り振りは、ユーザー定義クラスのオブジェクトのallocとdeallocを追跡します。
- 22. initメソッドの[self release]、[self dealloc]または[super dealloc]?
- 23. deallocのivarとプロパティのリリース
- 24. python 3.5あるクラスから別のクラスにオブジェクトを渡す
- 25. オブジェクトをオブジェクトのリストから同じクラスの別のオブジェクトにコピー/設定する
- 26. - (void)dealloc質問
- 27. super dealloc EXC_BAD_ACCESSエラー
- 28. iOS 11 EXC_BAD_ACCESS deallocのKERN_INVALID_ADDRESS
- 29. deallocプロセスの観察方法
- 30. クラスPHPの別のクラスの別のクラスメソッド
あなたは、いくつかのコードを表示したり、あなたの質問をよりよく説明したりする必要があります。あなたが作成するオブジェクトの中には、オートレリースされているものもあれば、そうでないものもあります。 –