*初心者iOSプログラマー、辛抱強く説明してください
Foo、Barの2つのクラスがあるとします
クラス Bar には、初期化中に設定した Foo のインスタンスへのポインターがあります。(そして、Foo と Bar を互いに適切にインポートする方法がわからないため、タイプを Foo ではなく id に設定することになります)
@implementation Bar{
id pointerToInstanceOfFoo;
}
Bar の dealloc 関数を作成するにはどうすればよいですか? または、dealloc 関数をオーバーライドしますか?
今私は持っています
-(void)dealloc{
pointerToInstanceOfFoo = NULL;
[super dealloc];
}
Bar が死亡したときに Foo へのポインターが存在することを望んでいますが、私は正しいことをしていますか? いくつかの質問:
- Foo と Bar が相互にインポートする場合、どうすればよいですか? または、これは悪いソフトウェア設計ですか?
- 現在、@implementation にポインタ "pointerToInstanceOfFoo" が設定されています...これは、クラス Bar でプライベート ポインタを宣言することと同じですか?
- 代わりに使用する必要があり
@property (nonatomic, weak) id pointerToInstanceOfFoo
ますか?もしそうなら、ARC にウィーク ポインターがないというこのエラーが発生し続けるのはなぜですか? delete pointerToInstanceOfFoo;
dealloc 関数で必要です か??
混乱して申し訳ありませんが、説明/回答をいただければ幸いです!!
PS 私は XCode 4.4 を使用しており、iOS 5.0 で cocos2d v2.1 ベータ版を実行しています... arc を使用していると思います