UIImage CGImage: сообщение отправлено на освобожденный экземпляр - PullRequest
0 голосов
/ 01 октября 2010

Ниже приведен фрагмент моего кода:

в файле .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];

1 Ответ

0 голосов
/ 01 октября 2010

0x583b1d0, скорее всего, адрес рассматриваемого объекта (значение self).Вы можете использовать NSLog или printf с% p для его печати. ​​

PK

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...