一旦我进入核心数据应用程序的“向下钻取”视图,我就会在表格视图上的第一个项目上收到此警告。
其他人得到了这个警告吗?
- [NSKeyedUnarchiver initForReadingWithData:]:数据为空;你忘了把-finishEncoding发送给NSKeyedArchiver吗?
感谢
答案 0 :(得分:0)
Xcode 7.2.1,iOS 9.2.1,已启用ARC
检查您用于存储数据的NSData对象在访问之前是否未被释放。您必须在访问数据的位置进行检查,而不是在视图控制器或其他位置。
- [NSKeyedUnarchiver initForReadingWithData:]:数据为空;你忘了把-finishEncoding发送给NSKeyedArchiver吗?
当NSData对象为空时,将引发此警告。检查是否存在的可靠方法是使用[yourDataObject length]
并确保它不为零。
希望这有帮助!欢呼声。
答案 1 :(得分:0)
一旦我遇到了这个问题,它的原因是......
NSString *str = @"ss";
NSString *temp = [str substringToIndex:4];
在iOS8中。
现在xCode8.1会告诉你
*由于未捕获的异常终止应用' NSRangeException',原因:' * - [__ NSCFConstantString substringToIndex:]:索引4超出界限;字符串长度2'
答案 2 :(得分:-1)
您似乎正在尝试从空数据对象中读取数据。
也许您之前将数据初始化为[NSData数据],或者您保存的数据为空。