【发布时间】:2012-03-25 18:04:13
【问题描述】:
我从我的应用程序的核心数据中获取了一个结果,需要获取我给它的“容量”属性的整数值。
“容量”属性在我的核心数据模型中是 NSInteger 16。
我的结果是这样的:
entity = [NSEntityDescription entityForName:@"TableInfo" inManagedObjectContext:appDelegate.managedObjectContext];
[fetchRequest setEntity:entity];
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"name == %@", [NSString stringWithFormat:@"%@", [tablesArray objectAtIndex:row]]]];
NSArray *selectedTableFetched = [appDelegate.managedObjectContext executeFetchRequest:fetchRequest error:&error];
现在我的问题是如何从结果中获取“容量”值?我知道有一个结果,因为我检查了数组的计数并尝试了这个:
NSNumber *n = [selectedTableFetched valueForKey:@"capacity"];
它给了我一些东西,当访问 NSNumber 时,我得到一个无意义的长数字,所以如果我尝试像这样访问整数值:
[n integerValue]
它使应用程序崩溃,我收到此错误:
'NSInvalidArgumentException', reason: '-[__NSArrayI integerValue]: unrecognized selector sent to instance 0x138870'
我需要做的就是从容量属性中获取整数值。
【问题讨论】:
-
我认为
[selectedTableFetched valueForKey:@"capacity"]不会返回NSNumber,而是返回NSArray
标签: iphone objective-c ipad core-data nsfetchrequest