0

エラーを理解するためにプロジェクトを分析しようとした別の投稿から、いくつかのメモリの問題があります....エラーがどこにあるのか理解できないことがいくつかあります....

ありがとう

1: sqlite 接続: sqlite 接続 http://grab.by/grabs/2125d36a8ec1fb0af1c813af33af5653.png

2: json コンバーター: json コンバーター http://grab.by/grabs/7b22080098c8931d7ef505a1eb7c087e.png

3: URL接続: URL接続 http://grab.by/grabs/848a0942f69c91303347d08c64fb2fbb.png

4: uitableview の セル: uitableview のセル http://grab.by/grabs/3917e88829bb6c956bb30445fc7bec20.png

4

2 に答える 2

2
  1. dbrc述べたように、使用せずに割り当てています。エラーコードを使用しない場合は、割り当てを省略できます。

    sqlite3_prepare_v2(...);
    ...
    while (sqlite3_step(...) == SQLITE_ROW) {
      ...
    
  2. 上記のforループが実行されない場合 (つまり、正規表現が一致しない場合)、matchOk初期化されることはありません。つまり、ガベージが含まれます。

    NSString* matchOK = nil;
    int nM = 0;
    ...
    
  3. +allocNSURLConnectionを編集しましたが、結果をどこにも保存していません-release。漏れの原因となります。

  4. TickerSessions+allocを ing せずに ed しまし-releaseた。

実際には、[ビルド結果] ウィンドウを開いて、エラーの原因を確認できます。

http://developer.apple.com/iphone/library/documentation/DeveloperTools/Conceptual/XcodeProjectManagement/art/analyzer_results_by_step.jpg

于 2010-07-24T07:30:57.593 に答える
1
  1. 値を dbrc に割り当てていますが、割り当てられた値を使用していません。その変数を取り除くだけです。

  2. 正規表現が一致しない場合、または一致するものが 1 つしかない場合、割り当ては実行されないため、matchOk の値は不定になります。したがって、dataUsingEncoding メッセージの受信側はガベージです。

  3. ReadType は、割り当て中に自動割り当てを行うタイプであり、おそらく NSNumber です。そのオブジェクトを解放することはありません。

  4. ティック値を明示的に割り当てていますが、メソッド スコープを終了する前に解放していません。

于 2010-07-24T07:29:57.307 に答える