在调试时检查NSImage参考的最简单方法是什么?

时间:2011-12-30 20:22:38

标签: objective-c cocoa debugging nsimage

Xcode中是否有一项功能允许您在调试时检查对NSImage的引用? Silimar如何使用webkit检查器检查网页中的图像引用。如果做不到这一点,在使用NSIMages时最简单的调试方法是什么?

enter image description here

2 个答案:

答案 0 :(得分:4)

<强>更新: 使用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]

源代码中唯一的变化是类别的导入。

答案 1 :(得分:2)

从Xcode 5开始,您可以使用QuickLook检查NSImage或UIImage,只需在Variables View中选择它,然后单击Eye图标(或按空格键)。

另请参阅:Xcode debugging - displaying images