質問: xcode 4.2 Analyzeツールからのメッセージ Xcode 4.2のAnalyzeコマンドのメッセージを少し混乱させました。それはインスタンス変数activityViewについて不平を言う。 !enter image description here Analyzeツールは、activityViewの潜在的なリークについて[self startRefresh:NULL]行に文句を言います。 1. activityViewはインスタンス変数であり、合成されます 2. dealloc()でactivityViewを公開しています 3. 私の理解によれば、setterが(self.activityViewを介して暗黙的に)使用されると、以前の値が解放されます。そうですか? だから、私はどのように分析ツールから警告を読むべきですか?または私は何が必要ですか? THX。
回答: @propertyにretain属性があると仮定すると、setterはこの新しいアクティビティビューを保持するので、alloc/initから+1カウントを引き続き受け取ります。 だからあなたはこのようなことをすることができます: ``` self.activityView = [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite] autorelease]; ``` alloc/initのバランスを取るために新しいインスタンスを自動解放してください。 アナライザーはactivityViewの以前の値について警告していません。新しいインスタンスについて警告しています。alloc/initと@property(retain)の後に実質的に+2保持カウントがあります。