NSValueTransformer
用于转换值。但是,如果转换需要更多的上下文信息怎么办?例如,如何NSValueTransformer
访问笔尖中的其他对象或访问视图控制器?这不是NSValueTransformer
要使用的意思吗?
作为一个示例,我想使用值转换器根据员工部门的格式来将文本视图的属性字符串绑定到员工的姓名。
到目前为止,我的解决方案是仅实现一个新employeeNameForDisplay
属性,而完全跳过值转换器。
如果这确实是最好的解决方案,那么我很难理解价值转换器的价值。他们真的有限吗?
Doc报价...
NSValueTransformer
是可可绑定技术用于将值从一种表示形式转换为另一种表示形式的抽象类。
...这是一个非常简单的类,可以在不同表示形式之间转换值。有时我确实将它与Cocoa Bindings结合使用,但我却大量与CoreData结合使用,在其中我需要更好的(更小,更快,...)表示形式的基础sqlite商店。因此,即使您不能用它来实现目标,该类对我们也有价值。
我也会像你一样解决。新物业以及...
+ (NSSet *)keyPathsForValuesAffectingEmployeeNameForDisplay:(NSString *)key {
return [NSSet setWithArray:@[ @"employeeName", @"employeeDepartment" ]];
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句