swift - 为什么 NSImage.Name 存在?

标签 swift macos cocoa

我不明白为什么要创建 UIImage 我只是在构造函数中传递 String 但为了创建 NSImage 我必须传递 构造函数中的 NSImage.Name。这个解决方案背后的想法是什么?

代码:

iOS

let image = UIImage(named: "name")

Mac 操作系统

let image = NSImage(named: NSImage.Name("name"))

谢谢。

最佳答案

期望您有一个集中的位置,您可以在其中使用定义所有图像名称的静态常量扩展 NSImage.Name。然后,您的所有代码都引用这些单个成员,而不是重复魔术字符串。

extension NSImage.Name {
    static let square = NSImage.Name("square")
    static let triangle = NSImage.Name("triangle")
    static let circle = NSImage.Name("circle")
}

//...

let image = NSImage(named: .square)

关于swift - 为什么 NSImage.Name 存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51270496/

相关文章:

objective-c - NSCollectionViewItem 中的自定义控件

cocoa - NSButton 具有可变大小宽度、圆角

swift - ScriptingBridge --> 无法分配给属性 : 'self' is immutable

ios - 支持 HERE map 室内 3D 场馆路线导航吗?

c++ - 尝试在 OS X 10.6 上安装 libxml++

macos - lldb 不允许设置断点也不允许列出源文件

ios - Alamofire 火变量类型没有下标成员

ios - Alamofire:在展开可选值时意外发现 nil

macos - 如何使用 Rust 编写原生 Mac OS X GUI?

cocoa - 是否有一个组件可以在我的 Cocoa 应用程序中为我提供日志控制台?