Ниже приведен фрагмент моего кода:
в файле .h:
@property (nonatomic, retain) UIImage *photo;
@property (nonatomic, retain) NSData *photoData;
в файле .m:
@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
Как я могу предотвратить эту проблему "сообщение отправлено освобожденному экземпляру"? Я очень новичок в этом, поэтому я действительно ценю некоторую предысторию, почему это происходит? (Указатель на некоторые документы тоже подойдет)
Спасибо
UPDATE:
* Ошибка происходит здесь. Спасибо Codelark за указание на это. Если эта строка будет изменена на следующую, ошибка не произойдет.
photo = [[info objectForKey:@"UIImagePickerControllerOriginalImage"] retain];