Получите EXC_BAD_ACCESS при доступе к свойствам изображения, возвращаемым didFinishPickingImage из UIImagePickerController - PullRequest
1 голос
/ 14 марта 2011

Я сейчас работаю в симуляторе и при попытке получить доступ к атрибутам изображения, возвращенного didFinishPickingImage из UIImagePickerController, я получаю ошибку EXC_BAD_ACCESS:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {
    NSLog(@"Image size: %@", img.size);
}

Что я делаю не так?

Ответы [ 3 ]

5 голосов
/ 14 марта 2011

Вы пытаетесь напечатать объект (спецификатор формата "% @"), но размер имеет тип CGSize, от typedef до обычного struct. Используйте

NSLog(@"Image size: %@", NSStringFromCGSize(img.size));

или

NSLog(@"Image size: (%f, %f)", img.size.width, img.size.height);
0 голосов
/ 14 марта 2011

Сделайте это вместо:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {
    NSLog(@"Image size: %f by %f", img.size.width, img.size.height);
}
0 голосов
/ 14 марта 2011

UIImage.size - это структура , а не объект, поэтому вы не можете использовать %@ в NSLog для регистрации. Попробуйте вместо этого:

NSLog(@"Image size: %.0f %.0f", img.size.width, img.size.height);
...