【发布时间】:2014-08-27 18:17:41
【问题描述】:
有人在 xcode 6 beta 中使用 swift 成功实现了自定义 NSValueTransformer 吗?
我有以下 swift 类:
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
}
}
所以这个转换器应该做的就是将 100 添加到 gui 中的给定值。
如您所见,转换器类现在出现在 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中注册这个transformer对吗
override class func initialize() {
let newTransformer = myTransformer()
}
有谁知道这一切应该如何运作?
亲切的问候! 马丁
【问题讨论】:
-
我猜这是快速名称修饰。尝试用 @objc 声明它来解决这个问题。
标签: xcode swift nsvaluetransformer