|
2
|
| Simon · 技术社区 · 15 年前 |
|
|
1
2
问题不在
您的问题是在表视图处于非屏幕和非活动状态时更改数据。表视图设计为自动显示给定给它们的数据模型。当您从细节视图返回到TableView时,它会自动重新加载其数据,该数据现在包含在细节视图中所做的更改。不管您如何向表提供数据,它都会这样做。 在您希望表显示更改之前,阻止它显示更改的唯一方法是在您希望更改出现之前,不要将数据添加到数据模型中。在非ManagedObject中,您必须将细节视图中的数据传递回表,并在希望它出现时在TableView控制器中创建ManagedObject。 但是,从UI设计的角度来看,我建议您重新考虑您的设计。如果在重新加载后才更改表,您将如何向用户发出要进行更改的信号?用户界面是否会突然无明显原因地更新?用户必须启动它吗?如果他们忘记了呢? 我认为用户希望细节视图中所做的任何更改都能立即反映在TableView中,因为这实际上是所有TableView细节视图对的工作方式。例如,如果您在通讯簿的联系人详细信息中更改了联系人的姓名,则当您返回联系人列表时,该详细信息会立即反映出来。 |
|
2
0
我使用的一个技巧是,当你展示你的细节视图控制器时调用beginupdates,当它消失时调用endupdates。例如。
|