Кто-нибудь знает, как вы можете использовать Realm для хранения массива строк? Я пытаюсь правильно отобразить следующий ответ в Realm:
"zoneInfo": {
"tariffInfoLines": [
"In this city you pay per minute."
]
}
У нас есть объект zoneInfo, который содержит массив pricesInfoLines. Этот массив parameterInfoLines содержит строки. В Realm существуют два разных типа переменных для хранения данных. Первый RLMObject, который позволяет использовать стандартные NSString, int, long и т.д.
Второй тип RLMArray, который используется для массивов (поскольку NSArray не поддерживается). Вы должны дать массиву тип, который должен быть классом, который подклассы RLMObject. Мы до сих пор обошли это, используя объект ABCRealmString, как показано ниже:
@property RLMArray<ABCRealmString> *tariffInfoLines;
ABCRealmString содержит свойство NSString (это в основном оболочка):
@property NSString *value;
Однако это означает, что, когда Realm пытается сопоставить ответ для сохранения данных, он ищет значение для ключевого "значения" (имя свойства). Похоже, что он ожидает ответа, подобного следующему:
"zoneInfo": {
"tariffInfoLines": [
{
"value": "In this city you pay per minute."
},
]
}
В проекте мы работаем над следующей структурой:
"userOptions": [
{
"wantsEmailNotifications": true,
"wantsPushNotifications": false
},
]
У этого есть массив с объектами внутри, у которых есть четкие пары значений ключа, к которым может обратиться Realm. Структура zoneInfo является единственным местом, в котором у нас есть массив с наборами значений внутри, если они не находятся внутри объекта или не имеют каких-либо ключей.
Если кто-то может пролить свет на это, если это возможно с использованием Realm или требуется изменение API для соответствия структуре, которую может отображать Realm.