Xcode - Build And Analyze 〜 問題の例

2010年7月13日火曜日 | Published in | 0 コメント

このエントリーをはてなブックマークに追加

[前回] Cocoaの日々: Xcode - Build And Analyze

Build And Analyze で指摘されたケースについて記録を残しておく。


Potential leak of an object allocated


メモリリークのケース

開放わすれ(NS系オブジェクト)


Appleのサンプルからコピーしてきたものだが NSCalendar* gregorian の開放ができていなかった。return前に開放コードを追加する必要がある。
[gregorian release];


開放忘れ(CG系関数)


CGImageCreateWithMask()で生成した CGImageRef が開放されていない。次のように書き直す。

CGImageRef maskImage = CGImageCreateWithMask(grayScaleImage, alphaImage);
 UIImage* grayScaleUIImage = [UIImage imageWithCGImage:maskImage];
 CGImageRelease(maskImage);


開放忘れ(UIViewController)


単純な開放忘れ。最後に開放コードを追加する。
[viewController release];


undefined or garbage value


Undefined or garbage value returned to caller


これは cell が初期化されていないのと、switch-case文で default: が定義されていないことによる。今回は下記のコードを追加した。
UITableViewCell* cell = nil;


Pass-by-value argument in message expression is undefined


これもauto変数が初期化されていないのと、switch-case文で default: が定義されていないことによる。今回は下記のコードを追加した。
EditViewController* viewController = nil;;

The left operand of '<' is a garbage value


height が初期化されていない。初期化処理を追加する。
CGFloat height = 0;



これで無事完了。

Responses

Leave a Response

人気の投稿(過去 30日間)