0

ハッピー・フライデー。ゾンビの問題をデバッグするのに面白い時間を過ごしています。ロードされたオブジェクトUITableViewからデータソースを取得するがあります。(以下のクラスを参照してください)。アプリが読み込まれると、すべてが正常になります。最初の8語または9語が、期待どおりにテーブルビューに表示されます。ただし、スクロールすると、クラスインスタンス変数値の値としてデバッガーの出力「<Zombie>」に示されているように、オブジェクトにゾンビが含まれています。(スクリーンショットを参照)。これにより、クラッシュが発生します。NSMutableArrayWordWordWord

ゾンビを示すスクリーンショット

TableSearch[12440:207] *** -[CFString respondsToSelector:]: message sent to deallocated instance 0x6b1fe70

これが品詞です

//Word Class

#import "Word.h"

@implementation Word

@synthesize word;
@synthesize definition;

+ (id)wordWith:(NSString *)word Definition:(NSString *)definition
{

Word *newWord = [[[self alloc] init] autorelease];

    newWord.word = word;
    newWord.definition = definition;

   return newWord;

 }


 - (void)dealloc
 {
   [word release];
   [definition release];
   [super dealloc];
 }

 @end

これはばかげたことだと思いますが、どこが間違っていたのかわかりません。

Instrumentsで「Analyze」を実行しましたが、問題は報告されていません。クラッシュ後、「malloc_history 12440 0x6b1fe70」を実行して出力を確認しましたが、ゾンビを含むオブジェクトのクラス名を除いて、何を探すべきかわかりませんでした。

これを追跡する助けがあれば大歓迎です。

ありがとう!

4

1 に答える 1

1

Wordクラスの「word」プロパティと「definition」プロパティはどちらも「保持」として定義されていますか?例えば

@property (nonatomic, retain) NSString *word;
@property (nonatomic, retain) NSString *definition;

あなたがそれらを次のように書いた場合:

@property (nonatomic, assign) NSString *word;

あるいは単に

@property (nonatomic) NSString *word;

それからそれはあなたの墜落を説明するでしょう。

于 2012-02-03T14:45:08.157 に答える