我正在尝试构建一个新的 iOS 应用程序,并使用 RxSwift 库和领域作为数据库。
我构建了一个表格视图,其中显示领域中的对象列表,这些对象应该是可编辑的并且可以删除。(我不使用表格视图编辑功能。)
现在,当我从表中删除一个项目时,表应该刷新,因为我使用 RxSwift 将 tableview 绑定到 Realm 结果。但它不但没有更新,反而使应用程序崩溃。
应用程序崩溃时出现的错误是'RLMException', reason: 'Object has been deleted or invalidated.'
我在输出中得到了堆栈跟踪,但我找不到崩溃发生的来源/原因。
输出堆栈跟踪:
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 …
Run Code Online (Sandbox Code Playgroud) 我使用RxSwift实现UITableView时遇到问题.
我尝试使用以下代码将一个模型数组的observable绑定到表项.
models.bind(to: self.tableView.rx.items(cellIdentifier: "Cell", cellType: ModelTableViewCell.self
.
但是当我这样做时,它给了我以下错误:Type 'inout UITableView' does not conform to protocol 'ReactiveCompatible'
我知道错误是不对的,因为NSObject扩展了ReactiveCompatible,所以UITableView也可以.另外,我的项目代码与RxSwiftCommunity上显示的示例并没有太大的不同
我创建了一个有错误的小示例项目.