Objective c 如何将上下文对象传递给NSValueTransformer

Objective c 如何将上下文对象传递给NSValueTransformer,objective-c,nib,nsvaluetransformer,Objective C,Nib,Nsvaluetransformer,NSValueTransformer用于转换值。但是如果转换需要更多的上下文信息呢?例如,NSValueTransformer如何访问nib中的其他对象,或访问视图控制器?这难道不是NSValueTransformer要使用的吗 例如,我想将文本视图的属性字符串绑定到员工的姓名,使用值转换器根据员工的部门设置姓名格式 到目前为止,我的解决方案是只实现一个新的employeeNameForDisplay属性,完全跳过值转换器 如果这真的是最好的解决方案,我很难理解值转换器的价值。他们真的这么有限吗

NSValueTransformer
用于转换值。但是如果转换需要更多的上下文信息呢?例如,
NSValueTransformer
如何访问nib中的其他对象,或访问视图控制器?这难道不是
NSValueTransformer
要使用的吗

例如,我想将文本视图的属性字符串绑定到员工的姓名,使用值转换器根据员工的部门设置姓名格式

到目前为止,我的解决方案是只实现一个新的
employeeNameForDisplay
属性,完全跳过值转换器

如果这真的是最好的解决方案,我很难理解值转换器的价值。他们真的这么有限吗?

Doc quote

NSValueTransformer
是一个抽象类,Cocoa绑定技术使用它将值从一个表示转换为另一个表示

。。。这是一个非常简单的类,它在不同的表示形式之间转换值。有时我确实会将它用于Cocoa绑定,但我会将它大量用于CoreData,因为我需要更好(更小、更快,…)的底层sqlite存储表示。所以,这门课对我们有价值,即使你不能用它实现你的目标

我也会像你一样解决。新的财产连同

+ (NSSet *)keyPathsForValuesAffectingEmployeeNameForDisplay:(NSString *)key {
    return [NSSet setWithArray:@[ @"employeeName", @"employeeDepartment" ]];
}