我已经将我的核心数据属性之一设置为 bool(boolean) 值。现在,我需要设置它,但是XCode不断告诉我它可能不响应setUseGPS。
[ride setUseGPS: useGPS.on];
在核心数据中设置 bool(boolean) 值的方法是什么?我所有其他属性都以此方式设置,并且效果很好。因此,不确定为什么 bool(boolean) 值不能以这种方式设置吗?
最佳答案
核心数据“没有” bool(boolean) 类型(有,但是是NSNumber)。
因此要设置等效的useGPS = YES。
[entity setUseGPS:[NSNumber numberWithBool:YES]];
反过来:
BOOL isGPSOn = [[entity useGPS] boolValue];
更新:
正如SKG所指出的,使用Objetive-C中的文字,您现在可以以一种更简单的方式来做到这一点:
[entity setUseGPS:@YES];
BOOL isGPSOn = entity.useGPS.boolValue;