我在执行以下操作时看到imageNamed已从可用选项中弃用(或删除):
var statusImage:NSImage? = nil
self.statusImage = NSImage .ImageNamed....
我已经尝试了Apple和其他公司提供的Swift文档。这似乎很琐碎,但找不到imageNamed的解决方案。我想念什么吗?
使用init(named: String!)
来代替:这样称呼它NSImage(named: "foo")
。
编译器会自动重新映射被命名为便捷构造函数的ObjC类方法,以用作Swift初始化程序。如果类方法遵循便利构造函数的命名约定(例如+[SomeThing thingWithFoo: bar:]
),则Swift会将其重新映射到初始化程序(例如call SomeThing(foo: aFoo, bar: aBar)
)。这也适用于Apple认为像便利构造函数一样工作的一些方法(例如imageNamed:
)。
在大多数情况下,如果您完成了对便捷构造函数的类方法调用的键入操作,则编译器会给您一个错误,告诉您如何对其进行重新映射:
error: 'imageNamed' is unavailable: use object construction 'NSImage(named:)'
更一般而言,您可以通过NSImage
在编辑器中cmd单击该符号(例如)来查看Xcode中API符号的自动生成的模块“标头” ,或者在Xcode的文档查看器或该API的在线参考文档中查找该API使用它的Swift语法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句