Swift:将核心数据获取的字典数组输出到TableView

时间:2015-01-22 18:21:43

标签: ios uitableview swift core-data

所以我基本上想要实现的是在TableView中显示(不同的)类别列表。这些类别是从CoreData获取的,并通过fetchRequest.returnsDistinctResults = true按字母顺序排序和过滤。 fetch的输出是一个字典数组:

(
        {
        category = Bread;
    },
        {
        category = Cheese;
    },
        {
        category = Vegetables;
    }
)

我在向TableView输出这些类别值时遇到一些问题,因为var distinctResultsfunc fetchMaterial()之外的任何地方输出为 nil ,导致:{{1代码中的这一部分:

fatal error: unexpectedly found nil while unwrapping an Optional value

我如何将return distinctResults!.count 设置为distinctResults中设置的正确值? (假设这是解决此问题的最佳方法)。提前一千谢谢! =)

这是我的相关代码:

func fetchProduct()

1 个答案:

答案 0 :(得分:0)

您没有设置您的ivar distinctResults。在fetchProduct中,您可以写

var distinctResults : NSArray = ...

由于关键字var您声明了一个新变量,因此其范围将仅限于fetchProduct方法。方法返回后,该变量将被丢弃。

相反,您应该将结果分配给现有变量

self.distinctResults = ...

我认为您的代码可能存在其他问题,但这是您对nil变量的问题的答案。