私の問題は、NSSortDescriptorで配列をソートすることですが、いくつかのリークがあります。 私はObjective Cの新機能ですが、C++での背景については知っていますが、保持、解放、自動解放については分かりません。私、減少し、コードは次のとおりです。私はいくつかの漏れがある場合はiPhoneでautoreleaseを使用しているときの問題を解決するには?
- :ここ
が私の質問です:NSSortDescriptor 0x80148a0 32 myProject -[myClass sortByDate] __NSArrayI 0x80148c0 16 myProject -[myClass sortByDate] __NSArrayReverseEnumerator 0x84079c0 16 UIKit -[UITableView reloadData] __NSCFArray 0x8015f10 32 Foundation +[NSArray(NSArray) newWithContentsOf:immutable:] Malloc 32 Bytes 0x800f330 32 Foundation +[NSArray(NSArray) newWithContentsOf:immutable:] __NSArrayI 0xc914e90 352 Foundation -[NSArray(NSKeyValueSorting) sortedArrayUsingDescriptors:]
-(IBAction)sortByDate { NSSortDescriptor *Descriptor = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:YES]; NSArray *sortDescriptors = [NSArray arrayWithObject:Descriptor]; NSArray *sortedArray =[productListe sortedArrayUsingDescriptors:sortDescriptors]; [productListe release]; productListe=nil; productListe=[[NSMutableArray alloc]initWithArray:sortedArray]; [tableViewProduct reloadData]; NSLog(@"[Descriptor retainCount] =%i",[Descriptor retainCount]); //(return 2) NSLog(@"[sortDescriptors retainCount] =%i",[sortDescriptors retainCount]); //(return 1) NSLog(@"[sortedArray retainCount] =%i",[sortedArray retainCount]);//(return 1) }
インスツルメンツでは、私はリークのリストを取得します私のアプリケーションでは、Appleはappstoreからそれを拒否しますか?
- クラッシュなしですべてのオブジェクトを解放するにはどうすればよいですか。
- なぜreloadDataがリークしますか?
- アプリケーションでFoundationリークのようなリークを追跡するにはどうすればよいですか。
これは私の最初のアプリケーションであり、フォーラムでの最初の質問です。すべての回答に感謝します。
お返事ありがとうございます。 私は楽器を使用し、適切な場所(私は思う;))のすべてを解放するが、私は私のテーブルビューをソートしようとすると、アプリケーションのクラッシュ(reloadDataとそれなし)。 と、もしあなたが楽器の中のパーセンテージ(%)を知ることができたら?
私は機器のリークがありません(リロードデータリークを除いて、私はあなたがこれで私を助けないと思います) hersは私がcmd + shift + Aを使っているかを見ることができる画像です申し訳ありません、それの彼女の名前):
i「がsortDescriptorsが」自動解放されると思いますが、私は楽器にそれを解放いけない場合、私は50%のリークを持っている????
だと思います。
retainCounrは役に立たないです。それを呼び出さないでください。 – bbum