【发布时间】:2017-06-13 11:17:03
【问题描述】:
我正在从 coredata 表 STUDENT 中获取数据,并使用 Array 在 tableview 中显示所有学生姓名。在选择任何一个学生姓名后(点击 tableViewCell),它会从另一个表中获取学生的完整详细信息并显示在下一个配置文件视图控制器中。
现在的问题是,在配置文件视图控制器中,我正在打开 iPhone 的控制中心(打开蓝牙/Wifi/音乐等),并且在我关闭控制中心后,我的所有变量都变为 nil,即使我弹出上一个屏幕(这是所有学生姓名的列表),它显示空白表格。
当我调试这个问题时,我发现我的学生数组在弹出视图控制器期间变为 Nil。仅当我在使用应用程序时打开控制中心托盘时才会出现此问题,否则它会按预期维护所有数组和变量。
我不知道为什么它在父视图控制器中创建数组 Nil。我正在访问配置文件视图控制器中的控制中心,它在父视图控制器中重置了我的数组。
我不知道为什么会这样?有什么办法可以解决吗?打开控制中心后,是否需要重新设置所有变量?是否有任何状态维护问题或什么?有没有coredata相关的问题?
错误是这样的:
5 elements
- 0 : <Student: 0x17468c670> (entity: Challenge; id: 0xd0000000665c0006 <x-coredata://C8F37C3F-3153-4EA5-9914-0CEBEB5731E4/Challenge/p6551> ; data: <fault>)
- 1 : <Student: 0x17488b4f0> (entity: Challenge; id: 0xd000000066600006 <x-coredata://C8F37C3F-3153-4EA5-9914-0CEBEB5731E4/Challenge/p6552> ; data: <fault>)
- 2 : <Student: 0x174887a80> (entity: Challenge; id: 0xd000000066640006 <x-coredata://C8F37C3F-3153-4EA5-9914-0CEBEB5731E4/Challenge/p6553> ; data: <fault>)
- 3 : <Student: 0x17488b270> (entity: Challenge; id: 0xd000000066680006 <x-coredata://C8F37C3F-3153-4EA5-9914-0CEBEB5731E4/Challenge/p6554> ; data: <fault>)
- 4 : <Student: 0x1746823f0> (entity: Challenge; id: 0xd0000000666c0006 <x-coredata://C8F37C3F-3153-4EA5-9914-0CEBEB5731E4/Challenge/p6555> ; data: <fault>)
这里 data 有 <fault>,数组包含 5 个对象,但是当我尝试访问该对象属性时,它们是 Nil。似乎 coredata 对象变为空白。
我正在使用 swift 3.0、Xcode 8。iOS 10.2。请寻求帮助。
【问题讨论】:
标签: ios iphone swift core-data