相关疑难解决方法(0)

在swift中获取用户可读的类名(在objc NSStringFromClass中很好)

在Swift中是否有一个等效的NSStringFromClass,它提供了类名的用户可读版本?我试图将它与我创建的本机Swift类一起使用,但正如您所看到的,结果似乎是编译器类名的内部表示:

println(NSStringFromClass(MyClass.self))
Run Code Online (Sandbox Code Playgroud)

结果:

_TtC5test7MyClass
Run Code Online (Sandbox Code Playgroud)

我已经尝试将@objc属性添加到类中,并使其成为NSObject的子类,但它没有任何区别.我发现如果我用同名的Objective-C类替换MyClass,并在桥接头中导入它,它会给我'MyClass',但这不是必需的.

另一种选择是为此制定一个协议,我想以这种方式使用的每个类必须符合:

protocol Nameable {
    class var className: String { get }
}
Run Code Online (Sandbox Code Playgroud)

但是,在语言中使用内置方法更容易.

cocoa-touch swift

29
推荐指数
5
解决办法
2万
查看次数

标签 统计

cocoa-touch ×1

swift ×1