Happy Friday. Having an interesting time debugging a zombie issue. I have a UITableView that gets its data source from an NSMutableArray loaded with Word objects. (See class below). When the app loads, all is good – the 1st 8 or 9 words display in table view as expected. However when I scroll, I am getting zombies in my Word objects, as evidenced in the debugger output “<Zombie>” as the value for the Word class instance variable values. (See screenshot). This results in a crash.

TableSearch[12440:207] *** -[CFString respondsToSelector:]: message sent to deallocated instance 0x6b1fe70
Here is the Word class
//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
I am sure this is something dumb but I cannot see where I went wrong.
I ran “Analyze” on Instruments and no issues were reported. After the crash, I ran “malloc_history 12440 0x6b1fe70” and looked at the output but not sure what to look for except for
the class name of the objects that have the zombie, which I did not see.
Any help tracking this down is greatly appreciated.
Thanks!
Are the “word” and “definition” properties of your Word class both defined as “retain”? E.g.
If you’ve written them as:
or just
Then it would account for your crash.