Xcode 操场并初始化 NSImage

Posted

技术标签:

【中文标题】Xcode 操场并初始化 NSImage【英文标题】:Xcode playground and initialize NSImage 【发布时间】:2015-01-24 16:55:20 【问题描述】:

我正在使用 Xcode Playground 进行编码,但在我的代码的第一行出现错误:

import Cocoa
import XCPlayground

let image = NSImage(size: NSSize(width: 100, height: 100))

初始化图像时出现两个错误:

ImageIO: CGImageDestinationFinalize 图像目标必须在 至少一张图像 CGImageDestinationFinalize 输出类型失败 'public.tiff'

有人知道怎么回事吗?

【问题讨论】:

你为什么不用UIImage 根据第一行(import Cocoa),它是 MacOS 游乐场,Cocoa 中没有 UIImage。 【参考方案1】:

我已经在 ObjC 中尝试过您的代码,它有效,但在 Swift 中它不起作用(NSImage() 也不起作用)? 根据苹果文档。 NSImage init(size aSize: NSSize):

此方法不会向图像添加任何图像表示 目的。允许通过传递 a 来初始化图像对象 (0.0, 0.0) 的大小;但是,您必须将大小设置为非零值 在使用它之前会引发异常。

可能 Swift 需要使用图像初始化 NSImage。这在操场上有效:

let image = NSImage(named: NSImageNameQuickLookTemplate)
if let image = image 
   image.size = NSSize(width: 100, height: 100)

println(image?.size)

【讨论】:

这行得通,但我想初始化空的 NSImage,就像在 ObjC 中一样,我将它提交给 Apple Bug 报告者

以上是关于Xcode 操场并初始化 NSImage的主要内容,如果未能解决你的问题,请参考以下文章

如何快速初始化我的数组

可失败构造器(Failable Initializers)

Xcode 6 - 防止快速操场刷新

尝试在 Swift 操场上执行此操作时 Xcode 冻结?

操场上的 NSMutableArray 导致 Xcode 7 出现错误

在操场 Xcode 中导入 Cocoa 给我一个错误