有没有人迅速地在xcode 6 beta中成功实现了自定义NSValueTransformer?
我有以下快速班:
import Foundation
class myTransformer: NSValueTransformer {
let amount = 100
override class func transformedValueClass() -> AnyClass!
{
return NSNumber.self
}
override func transformedValue(value: AnyObject!) -> AnyObject! {
return value.integerValue + amount
}
}
因此,此转换器要做的就是将gui中的给定值加100。
如您所见,转换器类现在出现在IB的Value Transformer下拉列表中。
但是,如果选择此转换器,应用程序将崩溃:
2014-08-27 20:12:17.686 cdTest[44134:303]
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: 'Cannot find value transformer with name newTransformer'
在AppDelegate中用以下方式注册此转换器是否正确?
override class func initialize() {
let newTransformer = myTransformer()
}
有谁知道这整个东西应该如何工作?
亲切的问候!马丁
初始化newTransformer之后,还应该包括以下行:
NSValueTransformer.setValueTransformer(newTransformer, forName: "myTransformer")
然后,在Interface Builder中,您应该在值转换器下拉菜单下使用myTransformer而不是newTransformer。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句