我拥有自己的核心数据功能,可以获取数据。除了实体名称之外,此函数与我之前的函数相同。以前工作得很好,但是当我尝试从fetchedData
获取数据时,这会因错误EXC_BAD_ACCESS而失败。
func fetchGroups() -> Array<Group> {
var groups: Array<Group> = []
let fetchRequest: NSFetchRequest<Public> = Public.fetchRequest()
fetchRequest.sortDescriptors = [SortDescriptor.init(key: "publicTitle", ascending: true)]
let fetchedData = try! context.fetch(fetchRequest)
if (!fetchedData.isEmpty) {
for i in 0...fetchedData.count-1 {
print(fetchedData[0])
var group: Group = Group()
group.groupName = fetchedData[i].publicTitle
group.groupPhoto = fetchedData[i].publicPhoto
group.groupID = Int(fetchedData[i].publicID)
groups.append(group)
}
return groups
}
else {
return groups
}
}
因此,如果它在if (!fetchedData.isEmpty)
之后执行括号中的代码,则数组不为空。为什么它没有获得元素?
P.S。 fetchedData.count
= 1;但fetchedData[0]
=大崩溃!魔法。
答案 0 :(得分:3)
经过长时间的研究后,我发现问题太少但很难找到。我刚检查了我的coredata.xcdatamodeld文件并注意到,公共实体没有类定义。默认情况下,所有实体都只有名称。