Я пытаюсь создать новое приложение для iOS и использую библиотеку RxSwift и Realm в качестве базы данных.
Я создаю табличное представление, которое показывает список объектов из области, и эти объекты должны быть редактируемыми и могут быть удалены.(Я не использую возможности редактирования представления таблицы для этого.)
Теперь, когда я удаляю элемент из таблицы, таблица должна обновиться, потому что я использовал RxSwift, чтобы связать представление таблицы с результатами Realm.Но вместо обновления вылетает приложение.
Ошибка, возникающая при сбое приложения: 'RLMException', reason: 'Object has been deleted or invalidated.'
Также в выводе отображается трассировка стека, но я не могу найти источник / причину сбоя.
Выводstacktrace:
2018-05-14 00:09:34.660634+0200 RealmTest[65540:4239839] *** Terminating app due to uncaught exception 'RLMException', reason: 'Object has been deleted or invalidated.'
*** First throw call stack:
(
0 CoreFoundation 0x000000010f76e1e6 __exceptionPreprocess + 294
1 libobjc.A.dylib 0x000000010ee03031 objc_exception_throw + 48
2 Realm 0x000000010d44abd3 _ZL17RLMVerifyAttachedP13RLMObjectBase + 83
3 Realm 0x000000010d44c89c _ZN12_GLOBAL__N_18getBoxedIN5realm10StringDataEEEP11objc_objectP13RLMObjectBasem + 28
4 Realm 0x000000010d44c877 ___ZN12_GLOBAL__N_115makeBoxedGetterIN5realm10StringDataEEEP11objc_objectm_block_invoke + 39
5 RealmTest 0x000000010cf9c6a9 _T09RealmTest0B9ModelItemV8identitySSvg + 41
6 RealmTest 0x000000010cf9c6f5 _T09RealmTest0B9ModelItemV14Differentiator16IdentifiableTypeAadEP8identity8IdentityQzvgTW + 21
7 Differentiator 0x000000010d29f24e _T014Differentiator4DiffO23calculateAssociatedData33_D199D3FBF4B7CA3AFA95223EE09B4772LLs15ContiguousArrayVyAGyAC04ItemdE0AELLVGG_AKtAGyAGyxGG07initialP5Cache_AM05finalpR0tKAA16IdentifiableTypeRzlFZ + 2094
8 Differentiator 0x000000010d2ac30e _T014Differentiator4DiffO16CommandGenerator33_D199D3FBF4B7CA3AFA95223EE09B4772LLV22calculateItemMovementss15ContiguousArrayVyAIyAC0N14AssociatedDataAELLVGG_AMtAIyAIy0N0QzGG07initialN5Cache_AQ05finalnU0AIyAC07SectionrS0AELLVG0twS0AV0vwS0tKFZ + 334
9 Differentiator 0x000000010d2a1d65 _T014Differentiator4DiffO16CommandGenerator33_D199D3FBF4B7CA3AFA95223EE09B4772LLV27generatorForInitialSectionsAFy_xGSayxG_AI05finalP0tKFZ + 1253
10 Differentiator 0x000000010d2a1395 _T014Differentiator4DiffO27differencesForSectionedViewSayAA9ChangesetVyxGGSayxG15initialSections_AI05finalI0tKAA26AnimatableSectionModelTypeRzlFZ + 277
11 RxDataSources 0x000000010e35ede4 _T013RxDataSources0a26TableViewSectionedAnimatedB6SourceC05tableE0ySo07UITableE0C_0A5Swift5EventOySayxGG08observedL0tFyACyxG_AJtcfU_yycfU_ + 660
12 RxDataSources 0x000000010e360049 _T013RxDataSources0a26TableViewSectionedAnimatedB6SourceC05tableE0ySo07UITableE0C_0A5Swift5EventOySayxGG08observedL0tFyACyxG_AJtcfU_yycfU_TA + 25
13 RxDataSources 0x000000010e35f63d _T0Ieg_IeyB_TR + 45
14 libdispatch.dylib 0x0000000113b5b807 _dispatch_call_block_and_release + 12
15 libdispatch.dylib 0x0000000113b5c848 _dispatch_client_callout + 8
16 libdispatch.dylib 0x0000000113b6792b _dispatch_main_queue_callback_4CF + 628
17 CoreFoundation 0x000000010f730c99 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
18 CoreFoundation 0x000000010f6f4ea6 __CFRunLoopRun + 2342
19 CoreFoundation 0x000000010f6f430b CFRunLoopRunSpecific + 635
20 GraphicsServices 0x0000000117bb5a73 GSEventRunModal + 62
21 UIKit 0x000000010fbeb0b7 UIApplicationMain + 159
22 RealmTest 0x000000010cf9a0a7 main + 55
23 libdyld.dylib 0x0000000113bd9955 start + 1
24 ??? 0x0000000000000001 0x0 + 1
)
Мой вопрос: если кто-то знает, что я делаю неправильно, и наблюдаю, как правильный способ удаления объекта области использует RxSwift и Databinding?
Редактировать:
Я сделал небольшой тестовый проект и поместил его на свой github, он выдает ошибку при нажатии кнопки deleteFirst.https://github.com/Hiiragisan09/ios-example-project-realm-test