swift - 无法在 swift 中使用 NSFontManager 方法

标签 swift xcode6 nsfontmanager

在 Xcode 6 Beta 6 中,

我无法在 Swift 中使用任何 NSFontManager 方法。 例如:

var fontManager = NSFontManager.sharedFontManager()

fontManager.setAction("changeFont:")

我总是收到错误:NSFontManager 没有名为 setAction 的成员

任何方法都会发生这种情况(例如 setDelegatesetTarget)

感谢您的帮助。

最佳答案

试试这个:

fontManager.action = Selector("changeFont:")

属性是使用 Swift 中的属性语法设置的。

在 ObjC 中,属性的声明方式为(如果不使用 @property):

- (X) myProp { return ... }
- (void) setMyProp(X value) { ... }

在 Swift 中,属性声明看起来更像 C#:

var myProp : X { get { return ... } set { ... } }

所以你不能使用与 ObjC 中相同的方法名称显式调用 setter(尽管我实际上不知道它将被编译成什么......)。

关于swift - 无法在 swift 中使用 NSFontManager 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25466241/

相关文章:

nsstring - 来自 NSFont 的名称和大小

cocoa - NSFontPanel 的问题

ios - Spritekit 在 SKSpriteNode 子类中获取 Sprite 场景的最佳方法

ios - 如何更改 UILabel.text 属性以遍历字符串数组而不是对索引进行硬编码

ios - 如何使用 HeaderDoc 在 Xcode 中为 SWIFT 文件生成 HTML 文档?

objective-c - Cocoa:字体格式弹出按钮

swift - 使用 Swift 3 接受自签名证书

arrays - 快速删除数组中的项目

iOS/iPhone 应用程序似乎为我的文本添加了颜色 mask /颜色阴影

iOS 8 游戏中心错误