【问题标题】:Outlets in UIViewControllerUIViewController 中的插座
【发布时间】:2015-03-31 08:17:12
【问题描述】:

我已经在 Swift 中将一个 viewController 的视图加载到另一个 viewController 的视图中。

let myCustomView = MyCustomView()

let myView = NSBundle.mainBundle().loadNibNamed("xibView", owner: myCustomView, options: nil)[0] as UIView

self.view.addSubview(myView)

当我尝试将 UITableView 添加到 MyCustomViewController (.xib) 时,它可以工作。但是,如果我添加诸如“DataSource”/“Delegate”之类的出口或按钮上的操作:应用程序崩溃了。

问候

【问题讨论】:

  • 你实现DataSource/Delegate方法了吗?
  • 是的,我已经实现了 DataSource/Delegate。例如,当我尝试在按钮上添加操作时:应用程序也崩溃了。该问题已推广到奥特莱斯。
  • 请显示您的IBAction 处理程序
  • 如果你破坏了IBAction 一切正常吗?

标签: ios swift uiviewcontroller outlet


【解决方案1】:

尝试不同的方法从xib 加载UIView

let namedNib = UINib(nibName: "xibView", bundle: nil)
let aNib = namedNib.instantiateWithOwner(self, options: nil)
let myView = aNib.first as UIView
self.view.addSubview(myView)

【讨论】:

  • 我收到此错误消息*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Can't add self as subview' 视图未加载。如果我用你的 viewController (.xib) 中的实例变量替换“self”,我会在应用程序委托 EXEC_BAD_ACCESS 中再次崩溃。抱歉,我没有成功修复这个错误。
  • 比较myViewself.view会得到什么?他们是平等的吗?
  • 不,它们不相等。
  • 您可以尝试将view 加载到另一个viewController 中吗?
  • 您的第一个viewController 的视图viewController 是否保留在任何地方?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-02
  • 1970-01-01
  • 2018-11-29
  • 1970-01-01
  • 2018-07-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多