所以我基本上想要实现的是在TableView中显示(不同的)类别列表。这些类别是从CoreData获取的,并通过fetchRequest.returnsDistinctResults = true
按字母顺序排序和过滤。 fetch的输出是一个字典数组:
(
{
category = Bread;
},
{
category = Cheese;
},
{
category = Vegetables;
}
)
我在向TableView输出这些类别值时遇到一些问题,因为var distinctResults
在func fetchMaterial()
之外的任何地方输出为 nil ,导致:{{1代码中的这一部分:
fatal error: unexpectedly found nil while unwrapping an Optional value
我如何将return distinctResults!.count
设置为distinctResults
中设置的正确值? (假设这是解决此问题的最佳方法)。提前一千谢谢! =)
这是我的相关代码:
func fetchProduct()
答案 0 :(得分:0)
您没有设置您的ivar distinctResults
。在fetchProduct
中,您可以写
var distinctResults : NSArray = ...
由于关键字var
您声明了一个新变量,因此其范围将仅限于fetchProduct
方法。方法返回后,该变量将被丢弃。
相反,您应该将结果分配给现有变量
self.distinctResults = ...
我认为您的代码可能存在其他问题,但这是您对nil
变量的问题的答案。