Ios 从FCR获取单个FetchedObject以写入标签

Ios 从FCR获取单个FetchedObject以写入标签,ios,objective-c,sqlite,core-data,nsfetchedresultscontroller,Ios,Objective C,Sqlite,Core Data,Nsfetchedresultscontroller,我的FCR有问题。我想在标签上显示我的数据,但FCR不允许。这是我的代码 NSPredicate *predicate = [NSPredicate predicateWithFormat:@"faturaAdi == 'ADSL' "]; 我只获取了1个数据,其中fatura名称为ADSL。。我想把这个法图拉迪写在我的标签上,但我做不到 NSArray *array = [[NSArray alloc]init]; array = self.fetchedResultsController

我的FCR有问题。我想在标签上显示我的数据,但FCR不允许。这是我的代码

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"faturaAdi == 'ADSL' "];
我只获取了1个数据,其中fatura名称为ADSL。。我想把这个法图拉迪写在我的标签上,但我做不到

NSArray *array = [[NSArray alloc]init];

array = self.fetchedResultsController.fetchedObjects;

_lblFaturaAdi.text = [self.fetchedResultsController.fetchedObjects valueForKey:@"faturaAdi"];

NSLog(@"%@",[array valueForKey:@"faturaAdi"]);
NSLog显示Takip[967:60b]( ADSL )

当我把

\u lblfataradi.text=[self.fetchedResultsController.fetchedObjects valueForKey:@“faturaAdi”]

应用程序崩溃与此错误

-[\uuu NSArrayI length]:发送到实例0xa18c740的无法识别的选择器


如何解决此问题?

您的代码应更改为:

NSArray *array = self.fetchedResultsController.fetchedObjects;

if (array.count > 0) {
    self.lblFaturaAdi.text = [[array objectAtIndex:0] valueForKey:@"faturaAdi"];

    NSLog(@"%@", _lblFaturaAdi.text);
} else {
    NSLog(@"no results found");
}

因为在替换数组之前不需要初始化数组,而且在提取值之前需要先索引到数组中。

现在可以使用了,谢谢。我也有问题。如何不显示或删除nil cell.text?因为当我向我的Fatura实体添加除faturaAdi之外的一些数据时,以及当我列出它们时。我看到空的零号牢房。因为我的代码是cell.textlab.text=fatura.faturaAdi
并且我没有faturaAdi文本,所以我添加了fatura实体和其他内容。如何删除或不显示此空单元格?再次感谢您的回答,并为我糟糕的英语感到抱歉。如果您没有任何内容可显示,则应更改提供给表的行数,以便表不会尝试显示单元格。