2010-12-28 11 views
1

NSArrayを返す関数がありますが、返す行の後に配列を解放できないため、メモリリークが発生しています。どうすれば解放できますか?おかげさまで NSArray - メモリリーク方法?

-(NSArray *)readDataFromDatabase 
{ 

    return NSArray; 

} 

答えて

2

チェック返す前に:

- (NSArray*) readDataFromDatabase 
{ 
    // option 1: create an auto-released array 
    NSArray* a = [NSArray arrayWithObjects: ...]; 
    return a; 

    // option 2: autorelease manually 
    NSArray* aa = [[[NSArray alloc] initWithObjects: ...] autorelease]; 
    return aa; 
} 
1

配列自動解放apple's docs for autorelease

+0

私は、返された[arrayNextQuestion自動リリース];それはアプリをクラッシュさせる。 – mohacs

+0

実際のコードを投稿してください。 – vikingosegundo

+0

それを得ました。配列の前に配列の中のオブジェクトを解放していました。今では、autoreleaseが配列だけでなく全てを理解することを理解しています。リークを修正しました。どうもありがとう。 – mohacs

関連する問題