【问题标题】:Error resolved by simply moving an element on storyboard?通过简单地移动情节提要上的元素来解决错误?
【发布时间】:2013-12-02 04:50:41
【问题描述】:

我是 iOS 开发的初学者。我遇到了一个奇怪的问题,有时在尝试运行应用程序时会出现此错误:

应用程序窗口在应用程序启动结束时应该有一个根视图控制器

我有一个文本输入、标签和 2 个按钮。

奇怪的是,我可以通过简单地在情节提要上移动一个元素来修复这个错误。但是,通过再次移动某些东西,我经常会破坏它并出现此错误。

我已经检查过:

  • 我的 plist 文件中的主故事板文件基本名称是正确的
  • main.m UIApplicationMain 行永远不会改变
  • 我的情节提要设置为初始情节提要。

我不明白为什么在故事板上移动元素会导致/修复此错误。

这是在 XCode 5 中。

编辑: 根据要求,2个屏幕截图。 工作:“做”按钮出现在最上面。构建,运行良好。

然后,我将“执行”按钮移到“测试”下方。构建,失败。

编辑2: 我在损坏的项目和工作项目的副本之间进行了比较。这是我得到的:

pauls-mbp:Objective C paul$ diff -r CEM1 CEM1.broke
diff -r CEM1/CEM1/Base.lproj/Main.storyboard 
CEM1.broke/CEM1/Base.lproj/Main.storyboard
33c33
<  <rect key="frame" x="156" y="164" width="33" height="30"/>
---
>  <rect key="frame" x="151" y="198" width="33" height="30"/>
43c43
<  <rect key="frame" x="150" y="257" width="44" height="24"/>
---
>  <rect key="frame" x="145" y="236" width="44" height="24"/>
Binary files
CEM1/CEM1.xcodeproj/project.xcworkspace/xcuserdata/paul.xcuserdatad/
UserInterfaceState.xcuserstate and 
CEM1.broke/CEM1.xcodeproj/project.xcworkspace/xcuserdata/paul.xcuserdatad/      
UserInterfaceState.xcuserstate differ

【问题讨论】:

  • 您能否附上它何时有效和何时无效的屏幕截图?请包括左侧栏,它显示不同视图的嵌套。
  • @Douglas 添加。我只是将“执行”按钮向下移动了几个像素,然后砰,错误。
  • 您的 AppDelegate.m 是什么样的。这是一个全新的项目吗?除了故事板中的 VC 之外,您还更改了哪些内容。
  • @PeterFoti AppDelegate.m 是默认值。除了移动那个元素之外没有任何变化。
  • 嗯,也许它开始工作的原因是由于重建,而不是对文件的更改。例如,如果你让它坏了,然后重新构建(或对另一个代码文件做一点小改动),它会重新开始工作吗?控制台中的错误表明 SDK 文件存在某种问题,这里有一些讨论:stackoverflow.com/questions/18036381/…

标签: ios iphone objective-c xcode


【解决方案1】:

你的故事板中有 UIViewController 类的对象吗? 如果不是,警告说你应该为你的应用设置根视图控制器,你应该这样做。

另一件事是故事板仍然存在错误,并且故事板中移动元素引起的消失警告可能就是其中之一。也许退出并重新打开 Xcode 应该有助于解决这个问题。

但首先要验证您的故事板中是否有 UIViewController - 使用它是一个好习惯。

【讨论】:

  • 如何检查我是否在情节提要中有一个 UIViewController 类的对象?这里是 iOS 开发的完整初学者...
  • 更新:是的,视图控制器具有继承自 UIViewController 的类 ViewController。
  • 对不起,你不明白我的意思。我的意思是,在 nib 中可以在没有视图控制器的情况下添加视图,我认为也许你在情节提要中添加了没有视图控制器的视图,但在我检查过的情节提要中这是不可能的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-10
  • 2023-03-20
  • 2016-02-08
  • 1970-01-01
  • 2016-08-09
  • 2012-12-18
  • 2014-02-14
相关资源
最近更新 更多