【发布时间】:2016-11-19 18:07:47
【问题描述】:
在应用启动时,我正在后台线程中删除旧的 CoreData 行,下面是我拥有的代码。我的问题类似于 City-Streets 问题。所以,我有两个实体,街道和城市,我有一个关系城市 > 街道,因为一个城市有很多街道。
我在 Crashlytics 上遇到了罕见的崩溃,就在下面的代码中说明的地方。崩溃从未发生在我身上,我无法复制它。我不确定问题是否在于我们不应该获取已删除实体的关系。有人可以给我一些解释或重现问题的步骤吗? (我想确定是不是这个原因)
context.performBlock{
//fetch the entities I want to delete
let streets = fetchEntitiesToDeleteInContext(context)
for street in streets{
context.deleteObject(street)
let city: City = street.city // NO crash here
let cityName: String = city.name //crash here but I am sure that name is not nil
}
}
【问题讨论】:
标签: ios swift core-data nsmanagedobjectcontext