簡體   English   中英

如何解決“對象已被刪除或無效”。 領域例外

[英]how to solve 'Object has been deleted or invalidated.' Realm exception

我在不同的ViewControllers中有不同的領域對象,並且從我的settingViewController中刪除了應用程序(領域存儲的對象)的所有數據,但工作正常,但是當我移回這些viewControllers時,出現了此異常:

Terminating app due to uncaught exception 'RLMException', reason: 'Object has been deleted or invalidated.'
*** First throw call stack:
(0x180c0adb0 0x18026ff80 0x100a13e7c 0x1001bd54c 0x1001be77c 0x1860c288c 0x1860c2c3c 0x185eb78e8 0x185d775b4 0x185eb6d34 0x192375f40 0x185ef1c94 0x192375ccc 0x1001b97ac 0x1001bbe4c 0x1860bf030 0x1860bf198 0x1860ae298 0x1860c3c64 0x185e548c4 0x185d641e4 0x1836f698c 0x1836f15c8 0x1836f1488 0x1836f0ab8 0x1836f0818 0x1836e9ddc 0x180bc0728 0x180bbe4cc 0x180bbe8fc 0x180ae8c50 0x1823d0088 0x185dd2088 0x100121cc8 0x1806868b8)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) 

我知道它的發生是因為系統(內核,iOS)不知道我已經刪除了那些Realms對象,並且系統正在嘗試使用不再存在的數據(如果我錯了,請糾正我),任何人都可以指導我我該如何解決這個問題?

我建議您在將所有數據刪除到所有使用它進行操作的視圖控制器之前發出通知:

  1. 在擦除之前從您的settingViewController推送通知
  2. 在需要清除對象的任何地方訂閱此內容。
  3. 刪除參考
  4. 在您的settingViewController中執行干凈。

或者,以其他方式-為您的目的實現委托模式。 想法是一樣的。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM