Скалярный тип в управляемом объекте работает только для iPhone 5

Свойство Latitude является скалярным типом класса LatitudeLongitude. Невозможно сгенерировать для него метод установки.

Когда я сгенерировал коды для моего управляемого объекта, я получил сообщение о том, нужны ли мне скалярные свойства для примитивного типа данных. я должен использовать его? Я хочу сделать это приложение совместимым с iPhone 3 - 5

есть ли проблемы с этой проблемой?


person user4951    schedule 26.07.2011    source источник


Ответы (2)


Когда вы используете скалярные свойства, вы должны самостоятельно предоставить реализации геттеров и сеттеров для этих свойств, как описано в документации:

«Вы можете объявить свойства как скалярные значения, но для скалярных значений Core Data не может динамически генерировать методы доступа — вы должны предоставить свои собственные реализации (см. «Методы доступа к управляемым объектам»). Core Data автоматически синтезирует примитивные методы доступа (primitiveLength и setPrimitiveLength: ), но вам нужно объявить их, чтобы подавить предупреждения компилятора».

Документация

В этом месте я бы порекомендовал вам проверить этот пост core-data-scalars.

Надеюсь, я помог.

person lukewar    schedule 03.10.2011
comment
Тогда к черту скалярные свойства - person user4951; 05.10.2011
comment
Таким образом, скалярные свойства означают, что свойства будут двойными, плавающими и т. Д. Вместо правильного NSNumber. - person Anonymous White; 23.10.2012
comment
Да, Харьянто, интерфейс объекта модели будет двойным, плавающим и т. д., но на самом деле он будет преобразован в NSNumber, а затем сохранен в хранилище. - person lukewar; 24.10.2012
comment
post core-data-scalars больше не существует - person malhal; 07.11.2014

Это неправда, скаляры уже давно поддерживаются в Core Data из коробки. Вам не нужно реализовывать пользовательские методы доступа, как указано во многих сообщениях в блогах.

person quellish    schedule 27.03.2013