在 Xcode 6 Beta 6 中,
我无法在 Swift 中使用任何 NSFontManager
方法。
例如:
var fontManager = NSFontManager.sharedFontManager()
fontManager.setAction("changeFont:")
我总是收到错误:NSFontManager 没有名为 setAction 的成员
任何方法都会发生这种情况(例如 setDelegate
、setTarget
)
感谢您的帮助。
最佳答案
试试这个:
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/