核心数据EXC_BAD_ACCESS

时间:2016-06-27 11:59:57

标签: swift core-data swift3

我拥有自己的核心数据功能,可以获取数据。除了实体名称之外,此函数与我之前的函数相同。以前工作得很好,但是当我尝试从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] =大崩溃!魔法。

1 个答案:

答案 0 :(得分:3)

经过长时间的研究后,我发现问题太少但很难找到。我刚检查了我的coredata.xcdatamodeld文件并注意到,公共实体没有类定义。默认情况下,所有实体都只有名称。