Answers:
使用快速查看在Xcode调试器中检查图像。
在调试器中选择NSImage
或UIImage
,然后单击“快速查看”“眼睛”图标。
与OS X的其他区域一样,您也可以使用spacebarQuick Look!
调试器中的Quick Look也可以为您自己的类实现:
Xcode调试器中的变量快速查看功能使您可以通过图形呈现快速直观地评估对象变量的状态,该图形显示在调试器变量视图的弹出窗口中或源代码中。
本章介绍如何为自定义类类型实现快速查找方法,以便这些类型的对象变量也可以在“快速查找”弹出窗口中直观地呈现。
编辑:
从Xcode 5开始,调试器可以向您展示UIImage / CGImageRef变量的直观表示!
Xcode本身无法做到。我不了解外部工具。
我在调试时测试图像的工作是将原始数据转换为图像文件格式(如.png),然后将其保存在某个位置,然后使用任何图像查看工具打开图像。
为此,我有一段代码,基本上像这样:
NSData *imageData = UIImagePNGRepresentation(self.myUIImage);
[imageData writeToURL:desktopURL atomically:YES];
我只是将此代码复制粘贴到我想在运行中查看图像内容的位置。
一定要得到很快摆脱这个代码尽可能由于转换的高成本UIImage
来NSData
针对Xcode 5进行编辑:现在,当您将鼠标悬停在图像变量名称上时,右侧会出现一个“眼睛”图标。只需单击它即可查看当前图像!
注意:有时,即使图像正确,这在Xcode中也会失败。如果发生这种情况,或者如果您没有UIImage变量(例如,它是另一个对象的属性,则仍然可以使用较旧的答案):
较早的答案:从Avraham的答案开始,我尝试了一些实验,以显示来自lldb的iOS图像,而无需重新编译或将其添加到视图中。我终于想出了:
e [UIImagePNGRepresentation(myImage) writeToFile:@"/Users/<userName>/Desktop/myImage.png" atomically:NO];
我将此字符串保留在文本编辑器中,并在需要时将其粘贴。它将我感兴趣的当前图像(在本例中为“ myImage”)存储到桌面上的PNG文件中。然后,我可以使用“预览”打开此文件。
如果您使用的是iOS设备,则可以使用
e [UIImagePNGRepresentation(myImage) writeToFile:[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0] stringByAppendingString:@"/myImage.png"] atomically:NO];
然后,您可以使用Finder;选择您的设备;“文件”;然后是您的开发应用,然后将图像复制到桌面上即可查看。
呼应@pkamb所说的-您可以使用变量视图快速查看图像。但是,如果您无法了解图片怎么办?
例如我有一张图片 (contentViewController.view.subviews[0].subviews[1] as? UIImageView).image
但是如果我尝试contentViewController
在变量视图中展开,则不会显示我的子视图
您可以做的是右键单击,添加一个表达式,然后您可以看到它!
您可以在图像行中放置一个断点,然后在调试器中,只需编写:
po your_UIImage_object
po
代表print object
,这是GDB命令,它将显示有关传递的对象(在您的情况下为图像)的一些有用信息。