要做到這一點的最佳方式(如Cocoafan指出的)是使用Value Transformers。值轉換器允許您將用於模型的對象類型轉換爲適合視圖的類型。這是一個非常簡單的字符串/數組轉換器,它允許您將數據存儲爲逗號分隔的字符串,但會將其轉換爲字符串數組。
@interface StringArrayTransformer: NSValueTransformer {}
@end
@implementation StringArrayTransformer
+ (Class)transformedValueClass { return [NSString class]; }
+ (BOOL)allowsReverseTransformation { return YES; }
- (id)transformedValue:(id)value {
NSString *string = (NSString*) value;
return [string componentsSeparatedByString:@", "];
}
-(id)reverseTransformedValue:(id)value {
NSArray *array = (NSArray*)value;
return [array componentsJoinedByString:@", "];
}
@end
如果您使用綁定您的NSTokenField然後在右側使用該變壓器只需選擇在Interface Builder中NSTokenField,然後在綁定檢查,對於值綁定,設置「值變壓器「到StringArrayTransformer
,如下所示。
我相信文件是錯誤的:我的雷達上的問題(http://openradar.appspot.com/11226270)。 – 2012-04-11 12:26:04