有人可以告诉我为什么我会收到此错误以及为什么此代码无效?
Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[__NSArrayI componentsSeparatedByString:]: unrecognized
selector sent to instance 0x109494750'
这是有问题的代码:
NSArray *array = [self.managedObjectContext executeFetchRequest:request error:nil];
NSString *dateString = [array valueForKey:@"dateString"];
NSArray *datesArray = [dateString componentsSeparatedByString:@","];//line with problems
答案 0 :(得分:0)
当您在数组上致电valueForKey:
时,结果将是NSArray
,其中包含在其每个元素上调用valueForKey:
的结果。
因此dateString
实际上不是字符串,而是NSArray
的实例,它不响应componentsSeparatedByString:
。在调用
componentsSeparatedByString:
之前,您需要索引数组以获取所需的日期
答案 1 :(得分:0)
表明dateString
不是字符串。在数组上调用-valueForKey:
时,它会返回一个数组。每the docs:
返回一个数组,其中包含在每个数组对象上使用key调用valueForKey:的结果。
所以你在数组上调用字符串方法。通过致电-valueForKey:
,您不清楚自己要完成的工作。也许你的意思是-objectAtIndex:
?