初のカスタムクラスの基準、私はARCを使用して、私はカスタムのUIViewControllerへの参照を必要とするカスタムクラスを持っている iOSの - のUIViewControllerオブジェクトの
iOS4を+
をターゲットにしています。 私がmissunderstod何かを持っていない限り、その参照にプロパティretain
を持つことは、私のクラスが破壊するたびに、UIViewControllerも同様に破壊することを意味しますか? それは、UIViewControllerが割り当て解除されるために、(UIViewControllerを作成した)appdelegateと私のカスタムクラスの両方を割り当て解除する必要があるということですか?
私は__unsafe_unretained
のプロパティについても読んでいます。 UIViewControllerを参照するために、私のカスタムクラスで単純にそれを使用できますか? appdelegateは最後にUIViewControllerの割り当てを解除するので、ぶら下がったポインタのリスクはありませんか?
おかげ
EDIT:カスタムクラスそれは
です。私のカスタムクラスにretainを使用することに欠点はありますか?または__unsafe_unretainをまだ使用する必要がありますか?私は基本的にカスタムクラスでUIViewControllerからメソッド/変数にアクセスしています – KaiserJohaan
あなたはretainを使うべきです。何かを傷つけることはありませんし、あなたのUIViewControllerがあなたのカスタムクラスの寿命の間に破壊されることはありませんが、良い練習です。一般的に、保持数とリリース数が一致していれば(そして循環保持ループを作成していない場合)、大丈夫です。 –
カスタムクラスを使用してUIViewControllerのメソッドや変数にアクセスすると、それらを@synchonrizeで囲む必要がありますか? – KaiserJohaan