以下是我的代码片段:
<。>文件中的:
@property (nonatomic, retain) UIImage *photo;
@property (nonatomic, retain) NSData *photoData;
<。>文件中的:
@synthesize photo;
@synthesize photoData;
...
photo = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; {*}
...
NSLog(@"b1");
self.photoData = UIImagePNGRepresentation(self.photo);
NSLog(@"b2");
以下是我在控制台中看到的日志:
b1
*** -[UIImage CGImage]: message sent to deallocated instance 0x583b1d0
如何防止此“消息发送到解除分配的实例”问题?我对此非常陌生,所以我真的很感激为什么会发生这种情况的背景? (指向某些文档的指针也很棒)
由于
更新: *此处发生错误。感谢codelark指出这一点。如果此行更改为以下内容,则不会发生错误。
photo = [[info objectForKey:@"UIImagePickerControllerOriginalImage"] retain];
答案 0 :(得分:0)
0x583b1d0可能是有问题对象的地址(self的值)。您可以使用带有%p的NSLog或printf进行打印。
<强> PK 强>