【问题标题】:Xcode playground and initialize NSImageXcode 操场并初始化 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。

标签: objective-c macos swift xcode6 swift-playground


【解决方案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 报告者
猜你喜欢
  • 2019-06-07
  • 1970-01-01
  • 1970-01-01
  • 2014-10-06
  • 2011-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多