iOS Crash之NSInternalInconsistencyException
来源:互联网 发布:dear sister知乎 编辑:程序博客网 时间:2024/05/17 21:06
NSInternalInconsistencyException,从它的字面意思来看的话,是不一致导致的,下面就一些例子
1. NSMutableDictionary的错误使用
比如把NSDictionary当做NSMutableDictionary来使用,从他们内部的机理来说,就会产生一些错误,NSMutableDictionary中有很多NSDictionary不支持的接口
NSString *result = @"{\"username\”:\”aaa\”,\"phone\":\"15666666666\",\"bankcount\":\"98765432112345678\"}"; NSData *data = [result dataUsingEncoding:NSUTF8StringEncoding]; NSMutableDictionary *info = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil]; if (info) { NSString *username = [Utils UrlDecode: info[@"username"]]; [info setObject:username forKey:@"username"]; }
执行上述代码后报错:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[__NSCFDictionary setObject:forKey:]: mutating method sent to immutable object'
[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
返回的结果是immutable对象,不能直接对immutable进行赋值操作,否则会报错。
修改后代码:
NSString *result = @"{\"username\”:\”aaa\”,\"phone\":\"15666666666\",\"bankcount\":\"98765432112345678\"}"; NSData *data = [result dataUsingEncoding:NSUTF8StringEncoding]; //----将immutable转换为mutable---- NSDictionary *temp = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil]; NSMutableDictionary *info = [NSMutableDictionary dictionaryWithDictionary:temp]; //---------------------- if (info) { NSString *username = [Utils UrlDecode:info[@"username"]]; [info setObject:username forKey:@"username"]; }
2. 界面使用不当
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </var/mobile/Applications/74075F37-7B13-4D39-8686-050402501AE0/CanUSee.app> (loaded)' with name 'ViewController''
其中一个原因是:
在AppDelegate.m的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions中使用xib文件初始化,但程序的入口是storyboard,didFinishLaunching不需要写东西
self.viewController = [[ViewController alloc] initWithNibName: @"ViewController" bundle: nil];
工程里面没有ViewController.xib,初始化出错
工程里面没有ViewController.xib,初始化出错
0 0
- iOS Crash之NSInternalInconsistencyException
- iOS调用reloadRowsAtIndexPaths Crash报异常NSInternalInconsistencyException
- iOS调用reloadRowsAtIndexPaths Crash报异常NSInternalInconsistencyException
- IOS 'NSInternalInconsistencyException'
- iOS之NSMutableDictionary导致程序崩溃:'NSInternalInconsistencyException'
- iOS 用StackView的第三方FDStackView,有时会出现crash,'NSInternalInconsistencyException', reason: 'Multiplier is
- IOS crash之NSInvalidArgumentException
- iOS Crash之NSInvalidArgumentException
- iOS Crash之NSMallocException
- iOS Crash之NSFileHandleOperationException
- iOS Crash之NSRangeException
- iOS Crash之NSGenericException
- IOS crash之unrecognized selector
- iOS crash 分析之 symbolicatecrash
- IOS之Archives和Crash
- iOS开发之常见crash
- iOS 系统crash探寻之路
- ios 开发之crash定位追踪
- 这是一个开始
- 如何制作翻页的电子书?
- dllexport、dllimport区别
- 获取系统时间
- linux下编译ffmpeg
- iOS Crash之NSInternalInconsistencyException
- Active Directory中用户与Dynamic CRM中用户关联关系
- iOS--多线程具体总结(OC&Swift)
- 快速排序
- log4j日志配置详解
- GNU Radio教程(一)
- 机器学习 Machine Learning(by Andrew Ng)----第二章 单变量线性回归(Linear Regression with One Variable)
- hg编辑忽略文件无效的问题解决
- poj3984迷宫问题(如何输出最短路)