我已经使用绑定到数组控制器的表设置了我的简单 Xcode 项目。如果数组控制器充满了具有字符串属性的实体,它就可以正常工作。但是,我想将属性更改为 BOOL,并让表格根据 BOOL 显示字符串“true”或“false”。
我已经从 NSFormatter 覆盖了以下两种方法:
-(NSString*) stringForObjectValue:(id)object {
//what is the object?
NSLog(@"object is: %@", object);
if(![object isKindOfClass: [ NSString class ] ] ) {
return nil;
}
//i'm tired....just output hello in the table!!
NSString *returnStr = [[NSString alloc] initWithFormat:@"hello"];
return returnStr;
}
-(BOOL)getObjectValue: (id*)object forString:string errorDescription:(NSString**)error {
if( object ) {
return YES;
}
return NO;
}
因此,如果属性是字符串,则表格将填充“hello”,但是如果我将其切换为布尔值,则表格将填充大量空格。
我不知道这是否有帮助,但在我输出对象的那一行,如果属性是字符串,它会输出 __NSCFString,如果我将属性切换为布尔值,它会输出“Text Cell”。这是我不明白的另一件事。