こんにちは私は一般的に別のクラスのオブジェクトを作成します。このリリースが自動リリースプールにあれば私に電話してもらえますか?手動でリリースする必要があります。別のクラスの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. Rubyでオブジェクト(クラス)を別のオブジェクト(クラス)のパラメータにする方法
- 2. 別のクラスのオブジェクトを参照
- 3. のdealloc UILabel
- 4. python 3.5あるクラスから別のクラスにオブジェクトを渡す
- 5. Instruments割り振りは、ユーザー定義クラスのオブジェクトのallocとdeallocを追跡します。
- 6. OSXプロジェクトのDeallocオブジェクトARCが無効です
- 7. 親オブジェクトがdeallocされた後にivarのリリースが遅れる
- 8. removeObserver:forKeyPath:in dealloc
- 9. NSOperationオブジェクトの別のクラスのプロパティへのアクセス
- 10. KnockoutJS別のクラスのオブジェクトの配列へのアクセス
- 11. オブジェクトをそのクラスに変換する別のクラスのメソッドを呼び出す
- 12. あるクラスから別のクラスへのオブジェクトの循環呼び出し。
- 13. initメソッドの[self release]、[self dealloc]または[super dealloc]?
- 14. 2つの別々のJavaScriptオブジェクトのクラスを比較する
- 15. ジャンゴ:別のクラスのオブジェクトを返す保存上のModelForm
- 16. オブジェクトのリストを別のクラスに渡すときの問題C++
- 17. 別のクラスのプロパティとしてのVBA Class()オブジェクト
- 18. オブジェクト内のImageIconを別のクラスのフレームに追加する
- 19. Objective-C:別のクラス内のオブジェクトのプロパティにアクセスするには?
- 20. 別のクラスのオブジェクトのプロパティを変更しますか?
- 21. 別のクラスまたはオブジェクトへのInotifyの変更
- 22. c# - 別のクラスから実行中のオブジェクト参照へのアクセス
- 23. deallocのivarとプロパティのリリース
- 24. あるクラスのオブジェクトが別のクラスでコンパイル中に認識されない
- 25. PHP OOP - 別のクラスにオブジェクトのインスタンスを取得する
- 26. 別のクラスでパラメータ化されたオブジェクトの初期化
- 27. 別のクラスのオブジェクトを含む配列を作成する(Java)
- 28. 別のクラスからオブジェクトのセッターメソッドを呼び出す
- 29. 「オブジェクトのインスタンスで動作する」クラスの識別
- 30. - (void)dealloc質問
あなたは、いくつかのコードを表示したり、あなたの質問をよりよく説明したりする必要があります。あなたが作成するオブジェクトの中には、オートレリースされているものもあれば、そうでないものもあります。 –