标签:ios开发 objective-c exception json
今天在尝试用自带的NSJSONSerialization方法来解析本地json文件的时候碰到了系统异常,app自动终止
问题如下:
代码:
NSString *newCoursePath = [[NSBundle mainBundle] pathForResource:@"addcourses" ofType:@"json"]; NSData *data = [NSData dataWithContentsOfFile:newCoursePath]; NSArray *array = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil]; _coursesArray = [[NSMutableArray alloc] init];经调试发现,在代码
NSArray *array = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];处,出现异常!
异常如下:
*** Terminating app due to uncaught exception ‘NSInvalidArgumentException‘, reason: ‘data parameter is nil‘
表明,代码中从addcourse.json中获取的数据data为空!
然后我先排查了json文件中可能存在的格式错误,发现异常仍然出现。
而json文件确实添加到了工程中。
于是,只好把工程中的json文件,移除,尝试再次添加,这就发现了问题!
把文件拖至工程的相应文件中,会弹出如下选项卡:
在默认情况下,文件被添加到了CalendarTests,并没有被添加到我的Calendar.app里面!
所以如果直接添加,实际上这个json文件并没有得到有效添加!
这就需要我们把对应的Add to targets 选项里面的XXX.app勾选上!这样就有效添加啦!
异常排除~
标签:ios开发 objective-c exception json
原文地址:http://blog.csdn.net/xiaoshuoladashou/article/details/46049167