xcode 6中的自定义NSValueTransformer与swift
发布时间:2020-12-15 01:56:16 所属栏目:百科 来源:网络整理
导读:有没有人成功地在xcode 6测试版中使用swift实现了一个自定义的NSValueTransformer? 我有以下快速课: import Foundationclass myTransformer: NSValueTransformer { let amount = 100 override class func transformedValueClass() - AnyClass! { return NS
有没有人成功地在xcode 6测试版中使用swift实现了一个自定义的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而不是Value Transformer下拉列表下的newTransformer。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |