我的“其他来源”文件夹中包含两个自定义值转换器,绑定到 IB 中的表列,因此我对其进行了初始化:
@implementation MyDocument
- (id)init
{
self = [super init];
if (self != nil) {
// initialization code
[self initialiseValueTransformers];
}
return self;
}
- (void) initialiseValueTransformers {
MyFirstTransformer *myFirstTransformer = [[[MyFirstTransformer alloc] init] autorelease];
[NSValueTransformer setValueTransformer:myFirstTransformer forName:@"MyFirstTransformer"];
MySecondTransformer *mySecondTransformer = [[[MySecondTransformer alloc] init] autorelease];
[NSValueTransformer setValueTransformer:mySecondTransformer forName:@"MySecondTransformer"];
}
这些在 IB 中工作正常,列绑定到排列对象、模型键路径、值转换器。
我的问题是,我刚刚编写了第三个转换器,但没有以任何方式对其进行初始化,我只有一个文件 MyThirdTransformer.h / .m。它仍然适用于 IB ..??
为什么会这样,我是否需要费心初始化前两个?