iPhone - основные данные Bool Значения? - PullRequest
3 голосов
/ 18 ноября 2010

У меня есть BOOL в моих основных данных. Я хочу, чтобы значение было нулевым, если я не установил его в YES или NO. Можно ли сделать это? в моем коде, как я могу проверить, если значение еще не установлено или нет?

В моем nsmanagedObject я использую NSNumber для своей BOOL, в моих основных данных mdoel у меня есть BOOL.

Ответы [ 3 ]

5 голосов
/ 20 ноября 2010

CoreData позволяет вам установить значения по умолчанию. Bool может содержать «YES», «NO», «None». Установка значения по умолчанию "None" делает возвращаемое значение "null", что именно то, что мне нужно.

2 голосов
/ 19 ноября 2010

Если вы установите Boolean в качестве типа атрибута в вашей модели, это означает, что он будет реализован с использованием NSNumber.

Я не уверен, почему вы не хотите возвращать значение вместо NO Я бы порекомендовал вам не делать этого.С целостностью данных вам будет намного проще, если вы просто установите ложное значение по умолчанию.

Однако, если вы абсолютно настаиваете, вы можете просто проверить, является ли атрибут nil или нет, чтобы увидеть, если онбыло присвоено значение.

0 голосов
/ 02 февраля 2013

Правильный ответ - да, и есть реальное значение использовать «да», «нет» и другое «нет», что означает, что данные не повреждены.В Core Data иногда есть причина проверять «нет», особенно если вы хотите отлаживать базу данных.В Core Data вы можете использовать:

[myManagedObject setValue: nil forKey:@"attributeOfMyManagedObject"];

, и если вы проверите базу данных SQL за вашими Core Data, вы увидите «NULL», если будете использовать настройки по умолчанию.

...