我创建了一个名为PredicateController
的自定义类。
我需要传递PredicateController类,它将从Objc编写的框架中调用。但是,每当我使用swift的属性时,我都会返回<ProjectName>.PredicateController
。
我只需要将班级名称设为PredicateController
。
swift中是否有任何解决方法可以做同样的事情。
感谢。
答案 0 :(得分:0)
您可以在类上使用self
来获取类的类型,然后将其简单地包装到字符串中,例如...
let date = NSDate();
let clazz = NSDate.self
let str = "\(date) is of type \(clazz)"
println(str)
答案 1 :(得分:0)
如果类继承自.className
,您可以在实例上使用NSObject
:
class PredicateController: NSObject {
// ...
}
let pc = PredicateController()
let klass = pc.className
let name = klass.componentsSeparatedByString(".")[1]
let str = "\(pc) is of type \(name)"
println(str) // "<__lldb_expr_1398.PredicateController: 0x7fd92b465080> is of type PredicateController"
我的答案是@ hexagonstar的后续行动。我不知道这是否是正确的方法,但它确实有效。