Как правильно установить состояние UISwitch ON, используя тип логического атрибута NSManagedObject? - PullRequest
0 голосов
/ 16 марта 2011

Допустим, у меня есть следующие настройки:

....
UISwitch gpsSwitch;

// the below object has a gpsEnabled property of type boolean - default NO
NSManagedObject *typeObject;
....

Как именно мне правильно выполнить вызов:

self.gpsSwitch.on = [self.typeObject valueForKey:@"gpsEnabled"];

Это всегда возвращает предупреждение: передача аргумента 1 из'setOn:' делает целое число из указателя без приведения. и не работает.

Я пробовал:

(BOOL)[self.typeObject valueForKey:@"gpsEnabled"];
(NSInteger)[self.typeObject valueForKey:@"gpsEnabled"];

и ни одно из этих приведений не работает?Что починить?:)

1 Ответ

1 голос
/ 16 марта 2011

[self.typeObject valueForKey:@"gpsEnabled"] возвращает и NSNumber объект.

[[self.typeObject valueForKey:@"gpsEnabled"] boolValue] возвращает BOOL.

self.gpsSwitch.on нуждается в BOOL.

Даже если вы настроили логическое значение, int или что-то еще в своей базовой модели данных, они всегда извлекаются / устанавливаются как номера NSN.Несколько сбивает с толку.Мне нравится делать средства доступа в моих подклассах NSManagedObject, которые выполняют преобразование для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...