【发布时间】:2023-07-25 06:48:01
【问题描述】:
在目标 c 中,我可以创建一个类数组并在方法中使用它
NSArray *classes = @[[NSAttributedString class]];
NSArray *items = [pasteboard readObjectsForClasses:classes
options:nil];
但是,swift 没有“类”功能。返回类的元类型会导致错误
let aClass : AnyClass! = NSAttributedString.self
//or let aClass:AnyClass! = NSAttributedString.classForArchiver()
let pasteboard = NSPasteboard.generalPasteboard()
let classes = [aClass]
let objects = pasteboard.readObjectsForClasses(classes, options: nil)
最后一行导致“致命错误:数组元素无法桥接到Objective-C”
如何在 Swift 中创建类数组?
【问题讨论】:
-
另一种方式是
objc_getClass("NSAttributedString"),但是依赖类名作为字符串不如Sulthan的解决方案 -
更新:在 Xcode 6 beta 3 中,这段代码似乎没有问题
-
更新:Xcode 6 beta 6 再次出现问题
-
更新:它似乎在 Xcode 6.1 beta 中再次修复