Xcode 4スタティックアナライザは、このメソッドが、そうでないように見える場合に、このメソッドをオーバーリリースされた戻り値を持つものとしてフラグを付けます。XcodeスタティックアナライザとcopyWithZone
returnキーワードからそれに続く式を指す矢印と、その式からアナライザーの警告への矢印があります。ここで、静的分析で:
- 方法+1とObjective-Cのオブジェクトはカウント
- オブジェクトを保持して返すオブジェクトに転送(単一保持カウント所有基準として呼び出し元に返さ呼び出し側)
- オブジェクトが0(非所有して呼び出し元に返さ)+0で、カウント
- オブジェクトを保持カウントが+1(所有)のカウントが
スタティックアナライザが正しくないか、このコードに問題がありますか?リクエストにより、
、-initWithURL:postString:
方法:
- (id)initWithURL:(NSURL *)u postString:(NSString *)p
{
if ((self = [super init]))
{
self.url = u;
self.postString = p;
}
return self;
}
私もプロジェクトをクリーニングし、再構築した後、この警告を取得し続けます。
アップデート: Xcodeスタティックアナライザは、Xcode 4.2にアップグレードした後、これを問題としてフラグを立てなくなりました。
うーん...あなたもinitWithURL:postString:メソッドを投稿できますか? – spacehunt
@spacehunt:質問を更新しました。 – titaniumdecoy
@ Jason:私はちょうど上記を使って新しいクラスを作成しましたが、これをXcode 4.0.2と複製することはできません。 「2. Object sent autorelease」分析をクリックすると、どの矢印が強調表示されますか? – spacehunt