NSValueTransformer用于转换值。但是,如果转换需要更多的上下文信息,怎么办?例如,NSValueTransformer如何访问nib中的其他对象或访问视图控制器?这难道不是NSValueTransformer的意义所在吗?
例如,我希望将文本视图的属性化字符串绑定到员工的名称,使用值转换器根据员工部门设置名称的格式。
到目前为止,我的解决方案是只实现一个新的employeeNameForDisplay属性,跳过值转换器。
如果这是最好的解决方案,我很难理解价值转换器的价值。他们真的这么有限吗?
发布于 2014-03-14 12:33:29
医生引用..。
NSValueTransformer是一个抽象类,Cocoa绑定技术使用它将值从一种表示转换到另一种表示。
..。这是一个非常简单的类,它在不同的表示之间转换值。有时我确实在Cocoa绑定中使用它,但我在需要更好(更小、更快、.)的地方大量使用它来处理CoreData。底层sqlite存储的表示形式。所以,这个类对我们来说是有价值的,即使你不能用它来实现你的目标。
我也会像你一样解决问题。新的财产还有..。
+ (NSSet *)keyPathsForValuesAffectingEmployeeNameForDisplay:(NSString *)key {
return [NSSet setWithArray:@[ @"employeeName", @"employeeDepartment" ]];
}https://stackoverflow.com/questions/22404851
复制相似问题