刚刚将我的XCode从4.6更新到5,同时也更新了iOS7 SDK。
我注意到,我试图在空的或NSMutableArray上执行的所有操作(例如谓词过滤器等)在为iOS 5.1或iOS 7运行应用程序时都会导致异常(NSInvalidArgumentException) (仍在努力下载iOS 6.1),我的数组被实例化(所以它们不是Nil),但它们有0个条目。
因此,过去在XCode 4.6中正常工作的代码现在崩溃了,在我的应用程序中运行这一行代码之前,我必须添加一个额外的IF来检查array.count == 0。(重大任务)
当我将我的应用程序(我与XCode 4.6一起发布的版本)从AppStore下载到iOS7设备时,它工作得很好。
还有其他人也经历过吗?
发布于 2013-09-25 08:29:45
基于这段代码,我认为在默认值中存储的值不是一个数组,请重复检查该值。
NSArray *SelectedWards = [[NSArray alloc]initWithArray:[defaults objectForKey:@"Wards"]];您可以使用以下代码来检查
if(![[defaults objectForKey:@"Wards"] isKindOfClass:[NSArray class]])
{
NSLog("OOPs! Wards is not an array");
}https://stackoverflow.com/questions/18997935
复制相似问题