gpt4 book ai didi

Swift:不能使用 NSImage .imageNamed

转载 作者:IT王子 更新时间:2023-10-29 05:33:49 25 4
gpt4 key购买 nike

当我执行以下操作时,我发现 imageNamed 已从可用选项中弃用(或删除):

       var statusImage:NSImage? = nil

self.statusImage = NSImage .ImageNamed....

enter image description here

我已经尝试了Apple提供的Swift文档和其他地方。这看起来很琐碎但找不到imageNamed的解决方案。我错过了什么吗?

最佳答案

使用init(named: String!)相反:像 NSImage(named: "foo") 那样调用它。

编译器会自动重新映射命名为便利构造函数的 ObjC 类方法,以用作 Swift 初始化程序。如果类方法遵循便利构造函数的命名约定(例如 +[SomeThing thingWithFoo: bar:]),Swift 会将其重新映射到初始化器(例如调用 SomeThing(foo: aFoo, bar : aBar)).这也适用于 Apple 认为像便利构造函数一样工作的一些方法(如 imageNamed: 的情况)。

在大多数情况下,如果您完成对便利构造函数的类方法样式调用,编译器将给您一个错误,告诉您它是如何重新映射的:

error: 'imageNamed' is unavailable: use object construction 'NSImage(named:)'

更一般地说,您可以在 Xcode 中查看自动生成的模块“ header ”,方法是在编辑器中按住 cmd 并单击该符号(例如 NSImage),或者查看 Xcode 的文档查看器或该 API 的在线引用文档,以找到使用它的 Swift 语法。

关于Swift:不能使用 NSImage .imageNamed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24295476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com