Realm.io Array Создание -- ios поле с участием realm пол Связанный проблема

Realm.io array creation


0
vote

проблема

русский

Какой правильный способ создать rlmobject с массивом других rlmobjects?

Документы ничего не упоминают и мои первоначальные попытки (ничего не делайте, предполагайте, что царство делает правильные вещи и создавать пустой массив и назначить, что когда я устанавливаю свои первые отношения, не работаю.

Вот мой код:

 <код> [[RLMRealm defaultRealm] beginWriteTransaction]; [_realmAnswers removeAllObjects]; NSMutableArray* newArray = [NSMutableArray arrayWithCapacity:answers.count];  for (NSString* answerString in answers){     OFEAnswerEntry* newAnswer = [[OFEAnswerEntry alloc] init];     newAnswer.answerString = answerString;     [newArray addObject:newAnswer]; }  [_realmAnswers addObjectsFromArray: newArray]; [[RLMRealm defaultRealm] commitWriteTransaction];   
Английский оригинал

What's the correct way to instantiate an RLMObject with an array of other RLMObjects?

The docs don't mention anything and my initial attempts (do nothing, assume Realm does the right thing and create an empty array and assign that when I set my first relationship up don't seem to work.

Here's my code:

[[RLMRealm defaultRealm] beginWriteTransaction]; [_realmAnswers removeAllObjects]; NSMutableArray* newArray = [NSMutableArray arrayWithCapacity:answers.count];  for (NSString* answerString in answers){     OFEAnswerEntry* newAnswer = [[OFEAnswerEntry alloc] init];     newAnswer.answerString = answerString;     [newArray addObject:newAnswer]; }  [_realmAnswers addObjectsFromArray: newArray]; [[RLMRealm defaultRealm] commitWriteTransaction]; 
</div
     

Список ответов

3
 
vote

Использование <код> addObjectsFromArray: Метод на <Код> RLMArray :

 <код> ArrayPropertyObject *obj = [ArrayPropertyObject createInRealm:realm withObject:@[@"arrayObject", @[], @[]]]; StringObject *child1 = [StringObject createInRealm:realm withObject:@[@"a"]]; StringObject *child2 = [[StringObject alloc] init]; child2.stringCol = @"b"; [obj.array addObjectsFromArray:@[child2, child1]];   

Этот код был сделан напрямую из Тест в царстве-какао.

Вы также можете сделать это в меньшем количестве строк кода:

 <код> NSArray *stringObjects = @[     [[StringObject alloc] initWithObject:@[@"a"]],     [[StringObject alloc] initWithObject:@[@"b"]] ]; [ArrayPropertyObject createInRealm:realm withObject:@[@"arrayObject", stringObjects, @[]]];   
 

Using the addObjectsFromArray: method on RLMArray:

ArrayPropertyObject *obj = [ArrayPropertyObject createInRealm:realm withObject:@[@"arrayObject", @[], @[]]]; StringObject *child1 = [StringObject createInRealm:realm withObject:@[@"a"]]; StringObject *child2 = [[StringObject alloc] init]; child2.stringCol = @"b"; [obj.array addObjectsFromArray:@[child2, child1]]; 

This code was taken directly from a unit test in realm-cocoa.

You could also do this in fewer lines of code:

NSArray *stringObjects = @[     [[StringObject alloc] initWithObject:@[@"a"]],     [[StringObject alloc] initWithObject:@[@"b"]] ]; [ArrayPropertyObject createInRealm:realm withObject:@[@"arrayObject", stringObjects, @[]]]; 
</div
 
 
1
 
vote

Так что ответ JPSIM - это правильный способ добавления объектов, но проблема в моем коде (добавлена ​​с момента его ответа) заключается в том, что свойства RLMARRAY создаются ленилий от доступа к первому эталону и используя обозначение подчеркивания IVAR (<код> _realmAnswers код>) позволяет избежать этой нагрузки.

Изменение моего кода из:

 <код> [_realmAnswers addObjectsFromArray: newArray];   

к

 <код> [self.realmAnswers addObjectsFromArray: newArray];   

исправляет проблему.

 

So jpsim's answer is the correct way to add objects but the problem in my code (added since his answer) is that RLMArray properties are created lazily from the accessor on first reference and using underscore ivar notation (_realmAnswers) avoids that load.

Changing my code from:

[_realmAnswers addObjectsFromArray: newArray]; 

to

[self.realmAnswers addObjectsFromArray: newArray]; 

Fixes the problem.

</div
 
 

Связанный проблема

46  Как проверить push-уведомление работает в моем приложении  ( How to test push notification is working in my application ) 
В моем приложении я реализую службу Push-уведомления. У меня есть сервер поставщика контента, который содержит некоторые продукты в нем. Я создал сертификат...

1  Доступ к файлу, сохраненному на устройство WriteToFile  ( Accessing file saved to device writetofile ) 
Я экономя свой текст UItextView в файл, test.txt <код> NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSS...

32  В чем разница между ns_enum и ns_options?  ( What is the difference between ns enum and ns options ) 
i предварительно назначил следующий код с помощью clang в xcode5. <код> typedef NS_ENUM(NSInteger, MyStyle) { MyStyleDefault, MyStyleCustom }; type...

2  IOS: Как нарисовать линию между двумя движущимися объектами?  ( Ios how to draw a line between two moving objects ) 
Я в основном имеющую массив объектов UIView, которые находятся на экране. Они перемещаются случайным образом вокруг, и я хотел бы иметь строку, соединяющую ка...

7  Никогда не получайте загрузку данных в Google API для iOS  ( Never getting uploading data progress in google api for ios ) 
Я использую Googledrive API в своем приложении, чтобы загрузить файлы из моего приложения. До сих пор мне удалось найти хорошие результаты для загрузки всех т...

1  Обновление NsmanageObjects на заднем плане  ( Updating nsmanagedobjects in the background ) 
Я пытаюсь обновить NSManagedObject в фоновом режиме на основе свойств из сети сети. Возникли проблемы с обертыванием моей головы вокруг параллелизма. То, что ...

0  Сохранить выбор UipickView к NsuserDefaults Swift  ( Save uipickerview selection to nsuserdefaults swift ) 
Я пытаюсь сохранить выбор пользователя от Uipickerview до NsuserDefaults. Я нашел ответы в Obj-C, но не быстрее. Вот мой код UipickView: <код> func numberOf...

3  Facebook IOS SDK: войдите в Facebook без всегда просить разрешений для приложения  ( Facebook ios sdk login to facebook without always ask for permissions for the a ) 
Я использую Facebook iOS SDK в моем приложении, и у меня есть два подобных вопроса: Есть ли способ узнать, есть ли в настоящее время войти пользователя? ...

6  Как изменить размер изображения, чтобы соответствовать ячейке UiableView?  ( How to resize image to fit uitableview cell ) 
Как соответствовать <код> UIImage в ячейку <код> UITableView , uableviewcell (?). Вы <Код> addSubview на <Код> cell или есть ли способ изменить размер <к...

0  ДолкоуторуtateTiointerfaceSorentation в IOS6  ( Shouldautorotatetointerfaceorientation in ios6 ) 
Я использую <код> UIImagePickerviewController , чтобы открыть библиотеку фото через присоединенный код ниже ... после вызова битовых строк кода. Приложение бы...

38  Android / iOS одноранговая архитектура [закрыто]  ( Android ios peer to peer architecture ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт . Этот вопрос должен быть больше Фокусированный . В настоя...

0  Уволить контроллер просмотра, когда он был назван «PerforgeGege»?  ( Dismiss view controller when it was called by performsegue ) 
У меня есть три контроллера просмотра: <код> Main , <код> VC1 , а <код> VC2 . Всякий раз, когда приложение запускает метод делегата определяет, какой VC будет...

1  UIREFRESHCONTROL в UiscrollView не срабатывает, когда используется большой заголовок  ( Uirefreshcontrol in a uiscrollview is not triggered when large title is used ) 
Когда я использую большие заголовки для панели навигации, добавленные элементы управления UIREFRESH для UIScrollView не срабатывают при вытянутом состоянии ...

1  Есть ли способ использовать координаты для выбора элемента в автоматизации тестирования IOS UI?  ( Is there a way to use coordinates to select an element in ios ui test automation ) 
Я имею дело с <код> UICollectionView , который имеет много элементов. Один из них, это <код> UISuplementaryView , который содержит множество кликабельных ячее...

-1  Продолжайте получать ошибку безопасности транспорта HTTP, даже если я добавил код, чтобы обойти безопасность  ( Keep getting http transport security error even though i have added the code to ) 
Я пробовал множество различных методов, как правило, код, который я использую работы. Однако в этом случае я не уверен, если это делать с кодом из учебника, к...

Связанный проблема

46  Как проверить push-уведомление работает в моем приложении 
1  Доступ к файлу, сохраненному на устройство WriteToFile 
32  В чем разница между ns_enum и ns_options? 
2  IOS: Как нарисовать линию между двумя движущимися объектами? 
7  Никогда не получайте загрузку данных в Google API для iOS 
1  Обновление NsmanageObjects на заднем плане 
0  Сохранить выбор UipickView к NsuserDefaults Swift 
3  Facebook IOS SDK: войдите в Facebook без всегда просить разрешений для приложения 
6  Как изменить размер изображения, чтобы соответствовать ячейке UiableView? 
0  ДолкоуторуtateTiointerfaceSorentation в IOS6 
38  Android / iOS одноранговая архитектура [закрыто] 
0  Уволить контроллер просмотра, когда он был назван «PerforgeGege»? 
1  UIREFRESHCONTROL в UiscrollView не срабатывает, когда используется большой заголовок 
1  Есть ли способ использовать координаты для выбора элемента в автоматизации тестирования IOS UI? 
-1  Продолжайте получать ошибку безопасности транспорта HTTP, даже если я добавил код, чтобы обойти безопасность 



© 2021 www.qaru.top All Rights Reserved. Q&A House все права защищены


Licensed under cc by-sa 3.0 with attribution required.