I converted my huge IOS program to ARC using xcode auto conversion. After that I am getting the following error: [CFString retain]: message sent to deallocated instance
The trace shows the following line where it crashed:
UIImage *image = [[UIImage alloc] initWithContentsOfFile:tile.imagePath];
Next line in the trace gives:__arclite_objc_retainAutoreleasedReturnValue at /SourceCache/arclite/arclite-7.1/source/arclite.m:241
Can someone suggest me where I can look further, or what can I do to remove this crash?
Thanks a lot
EDIT: Looks like the (NSString *)p initialization in the code below needs some changes. How should I change it, so that the tile.imagePath doesn't become null?
- (id)initWithFrame:(MKMapRect)f path:(NSString *)p{
if (self = [super init]) {
imagePath = p;
frame = f;
}
return self;
}
Thank you.
imagePath
is probably a__unsafe_unretained
iVar (or maybe you're seeingweak
orassign
). Change it tostrong
so that it is retained by ARC.