我已经将我的核心数据属性之一设置为 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;

09-19 03:17