Проверять ссылку NSImage во время отладки?

Есть ли в Xcode функция, позволяющая проверять ссылки NSImage во время отладки?

Подобно тому, как инспектор webkit позволяет вам проверять ссылки на изображения на веб-страницах.

В противном случае, какой самый простой способ отладки при работе с NSIMages?

инспектор webkit


person Tony    schedule 30.12.2011    source источник
comment
Что именно вы пытаетесь отладить? т.е. в чем проблема, которую вы хотели бы отладить?   -  person Andrew Madsen    schedule 31.12.2011
comment
Возможный дубликат: отладки Xcode - отображение изображений   -  person pkamb    schedule 04.12.2019


Ответы (2)


ОБНОВЛЕНИЕ: с Xcode 5 и новее взгляните на ответ MagerValp. похоже, вы можете предварительно просмотреть изображение прямо в Xcode.


Нет, насколько мне известно, в Xcode нет такой функции. Если ваше приложение создает изображения или манипулирует ими, и вы хотите видеть визуальное представление данных за ссылкой на NSImage, вы можете сбросить изображение в файловую систему.

Просто создайте категорию, которая добавляет - (void) dump в NSImage следующим образом:

@interface NSImage (Dump)
- (void)dump;
@end

@implementation NSImage (Dump)
- (void)dump {
    NSBitmapImageRep *imageRep = [[self representations] objectAtIndex: 0];
    NSData *data = [imageRep representationUsingType: NSPNGFileType properties: nil];
    [data writeToFile: @"/tmp/image.png" atomically: NO];
}

@end

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

po [image dump]

единственное изменение в исходном коде - это импорт категории.

person Yevgeniy    schedule 30.12.2011
comment
Вместо того, чтобы предполагать, что первым представлением изображения является NSBitmapImageRep, было бы лучше отправить изображение TIFFRepresentation и записать его в файл .tiff. Кроме того, запись в / tmp не будет работать, если приложение работает в песочнице. - person Peter Hosey; 31.12.2011
comment
@PeterHosey и я бы тоже не выгружали каждое изображение по одному и тому же пути, но я делаю это в примере, чтобы не усложнять. - person Yevgeniy; 31.12.2011

Начиная с Xcode 5, вы можете использовать QuickLook для проверки NSImage или UIImage, просто выберите его в представлении переменных и щелкните значок глаза (или нажмите пробел).

См. Также: Отладка Xcode - отображение изображений

person MagerValp    schedule 12.01.2015