[CFString release]: message sent to deallocated instance问题,调用内存的问题。
@property(retain) NSString* contentId;
.....
@synthesize contentId=mContentId;
.....
mContentId = [NSString stringWithCString:mMimeFields->fld_id encoding:NSUTF8StringEncoding];
....
(void)dealloc{
[mContentId release];
...
}
将上面的那句改为下面就可以了。
self.contentId = [NSString stringWithCString:mMimeFields->fld_id encoding:NSUTF8StringEncoding];
分析:
第一种情况的retaincount为1,第二种情况的retaincount为2
所以在release之后计数为0了。
而第二种release之后计数为1,还没有被释放,别人还可以引用