我的应用程序基于使用MR的核心数据。
我有3个观看次数。这三种观点是 -
一个table view
,我可以在其中选择一个实体,当点击它时打开second view
所有亲戚数据,我有一个按钮打开third view
用户可以修改数据。
我的问题是要打开second view
我必须从表中传递行号以获得要显示的确切实体,这里一切都很好。
但是如果所选实体是表中的最后一个,并且用户修改了删除最后一行的一些数据(例如,如果更改了实体的category属性),那么当我回到我的应用程序崩溃时,因为该行我从first view
传来的数字相对在我的数据库中不再存在。
我希望我解释得很清楚。我知道这个问题,但我不知道如何解决它。
答案 0 :(得分:1)
我的问题是要打开第二个视图,我必须从表中传递行号以获得要显示的确切实体
您不应该将索引传递到表中,因为您知道它可以更改。
或者,您可以传递托管对象本身或其objectID
(考虑到objectID
价格昂贵)。
答案 1 :(得分:0)
在Xcode中,在左侧窗格中有一个断点部分(一个箭头形状的部分......或多或少)。打开那个部分。如果您点击该窗格左下角的+按钮,则可以添加例外断点。这将存储您的应用并突出显示崩溃的部分。从那里你可以很容易地解决你的问题:你只需要理解为什么你仍然试图访问该行,而不是对象的新索引。如果您在此时仍需要帮助,请发布您崩溃的代码部分以及该类的任何相关代码。
答案 2 :(得分:0)
我通过传递实体的标识符而不是行索引来解决我的问题。所以现在在详细视图中,我使用标识符而不是索引来获取我的实体。