簡體   English   中英

核心數據一對多關系導致獲取的結果控制器崩潰

[英]Core Data to-many relationship causing fetched results controller to crash

我有一個問題模型對象,該對象與對該問題的嘗試有很多關系。

我正在使用“提取的結果控制器”列出問題。 當我在表格視圖中點擊一個問題時,它將加載該問題的詳細視圖。

提交答案后,我想將另一個嘗試附加到問題對象上,因此我具有嘗試的歷史記錄。

這是奇怪的地方。 提交答案時,屏幕上沒有表格視圖,但是此刻我定義了嘗試和問題之間的關系(即, attempt.question = currentQuestion ),這導致基礎的獲取結果控制器崩潰。

似乎在調用frc委托方法controller:didChangeContent:atIndexPath:forChangeType:newIndexPath:兩次,第一次進行更新(因為問題對象已更改,這很有意義),但是第二次進行插入(不進行更新)有意義,因為沒有問題對象已被刪除或插入)。

對獲取的結果控制器的獲取請求僅在問題對象上查詢,並且對嘗試對該問題不感興趣。

無論嘗試是有序還是無序對多關系,並且僅在設備而不是模擬器上,都會發生這種情況。

感謝您提供幫助,以了解發生這種情況的原因。

感謝Martin R,他為我指出了這個解決方案

出於某種原因,即使在我的情況下,它是一個.Insert事件,而不是一個.Move事件作為鏈接的問題,在調用委托仍然填充作為atIndexPath參數相同的索引路徑newIndexPath參數。

在允許表視圖插入行之前對這兩個參數執行不等式檢查可解決此問題,因為兩個對象是相同的:

(lldb) po indexPath
▿ Optional(<NSIndexPath: 0xc000000000008016> {length = 2, path = 0 - 1})

(lldb) po newIndexPath
▿ Optional(<NSIndexPath: 0xc000000000008016> {length = 2, path = 0 - 1})

暫無
暫無

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

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