首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode 6通用故事板NSKeyedUnarchiver initForReadingWithData错误

Xcode 6通用故事板NSKeyedUnarchiver initForReadingWithData错误
EN

Stack Overflow用户
提问于 2015-03-02 12:49:59
回答 2查看 219关注 0票数 0

我已经将我的项目从iOS 7迁移到了iOS 8,保持了iOS 7的支持。因为我已经重新做了所有的图形,我扔掉了旧的故事板,并创建了一个新的使用新的通用故事板和大小类。

对于iOS 8、iPhone/iPad和iOS 7 iPhone,一切都很好,但是在iOS 7 iPad上,我会继续得到以下错误:

代码语言:javascript
复制
[NSKeyedUnarchiver initForReadingWithData:]: data is empty; did you forget to send -finishEncoding to the NSKeyedArchiver?

这个应用程序甚至没有到达application:didFinishLaunchingWithOptions,我知道问题在于故事板,因为如果我创建一个空的,应用程序就会启动得很好。

我遗漏了什么?我是否只需要一个支持iOS 7的临时故事板?还是有别的办法?

编辑:

在一些测试中,我发现抛出异常的方法是:

代码语言:javascript
复制
[storybord instantiateInitialViewController];

代码语言:javascript
复制
[storyboard instantiateViewControllerWithIdentifier:@"id"];

我已经用一个空的故事板启动了应用程序,并在应用程序委托中加载了我的故事板。故事板不是零,但应用程序崩溃的方法。加载一个非初始的视图控制器不会改变结果。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-19 00:07:54

我也遇到了同样的问题,并将其缩小到了一个集合视图,即我为我的小型/任意大小类安装了一个集合视图,但为我的any/任意大小类卸载了它。当prototype单元格所属的集合视图卸载到active size类中时,iOS 7似乎遇到了问题。在iOS 8上运行很好,所以如果您只支持iOS 8及更高版本,就不会遇到这个问题。

原型单元格活动(不工作):

已删除的原型单元格(Works):

为了解决这个问题,我将创建一个xib,它将以编程方式加载到iPad上,并保留故事板,以便在iPhone上使用。由于所讨论的视图不需要iPad上的集合视图,xib应该非常简单,但是从维护的角度来看,它仍然很糟糕。

票数 1
EN

Stack Overflow用户

发布于 2015-03-04 09:19:24

我终于能够解决这个问题,我发现在viewController中有一个插座的元素只有iphone类(我忘了将它添加到常规\规则大小类中),这导致了错误。

将它添加到正则\规则大小类解决了这个问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28810237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档