【问题标题】:Swift 2 / XCode 7 - "EXC_BAD_ACCESS (code=2...)" when calling "ViewController().view" in another classSwift 2 / XCode 7 - 在另一个类中调用“ViewController().view”时出现“EXC_BAD_ACCESS (code=2...)”
【发布时间】:2015-12-18 21:46:21
【问题描述】:

为什么会发生此错误,将来我可以做些什么来修复/预防?谢谢!

注意:我的其他班级是这样设置的:

class Other {

     //then all relevant funcs called 
    }

我是否缺少一些基本设置信息才能运行它?

【问题讨论】:

  • 似乎Viewcontroller 在该类中没有实例,它会引发错误。顺便说一句,您的问题还不够成熟,无法提供解决方案。
  • 如前所述,您不能为尚未呈现的视图控制器引用视图,因为您无法确保其视图不为零。如果您需要重用特定视图,请使用自己的初始化程序使其成为自己的类。然后在另一个类中调用它,并将其作为子视图添加到 ViewController 中的 self.view

标签: ios xcode swift class parameter-passing


【解决方案1】:

正式的解释是:

您正试图在初始化之前访问view 属性。另一种看待它的方法是,您尝试在加载 view 属性之前访问它(在 viewDidLoad 中)。

解决办法:

取决于您使用该视图的目的。我从来不需要像那样访问另一个视图控制器的属性。如果您需要来自另一个视图控制器的引用,请考虑探索其他策略,例如委托、对另一个控制器的弱引用以及在 prepareForSegue 中传递变量。

【讨论】:

  • 好的,但我没有从另一个视图控制器引用视图控制器——只是另一个类。有没有办法足够快地初始化(我不知道正确的词是什么)该类以确保它不会失败?
  • 我只是不想让我的 viewcontroller 类被代码填得太满……这让工作变得很困难
  • 让我知道您为什么需要这样做。我以前从未遇到过这样的用例,如果您给我更多的背景信息,我可能会为您提供更好的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-27
  • 2015-11-15
  • 1970-01-01
相关资源
最近更新 更多