ios – Swift:从另一个viewcontroller调用函数使对象为零

ios – Swift:从另一个viewcontroller调用函数使对象为零,第1张

概述我有两个简单的ViewController:第一个有一个链接到UI ImageView的IBOutlet和一个设置图像alpha通道的函数.第二个控制器有一个按钮,当它被触发时,应调用该功​​能来设置alpha通道. 这是我的代码: class FirstViewController: UIViewController { @IBOutlet imageView: UIImageVie 我有两个简单的VIEwController:第一个有一个链接到UI ImageVIEw的IBOutlet和一个设置图像Alpha通道的函数.第二个控制器有一个按钮,当它被触发时,应调用该功​​能来设置Alpha通道.

这是我的代码:

class FirstVIEwController: UIVIEwController {     @IBOutlet imageVIEw: UIImageVIEw!      func changeAlphaChannel() {         imageVIEw.Alpha = 0.5     }}class SecondVIEwController: UIVIEwController {     let firstController = FirstVIEwController()     @IBAction func buttonpressed(sender: UIbutton) {         firstController.changeAlphaChannel()     }}

在FirstVIEwController中调用changeAlphaChannel()可以正常工作,但是如果我按下按钮调用它,则imageVIEw变为零并且应用程序崩溃.
我怎样才能解决这个问题?
谢谢

解决方法 它的崩溃是因为你的imageVIEw是零.用FirstVIEwController()初始化firstController是行不通的.您必须从故事板加载该视图控制器.你可以这样做

let storyboard: UIStoryboard = UIStoryboard.init(name: "Storyboardname",bundle: nil)let firstVIEwController: FirstVIEwController = storyboard.instantiateVIEwControllerWithIDentifIEr("StoryboardIDentifIEr") as! FirstVIEwController

UPDATE

现在,只有在实例化firstVIEwController的视图时才会设置firstVIEwController的IBOutlets,在您的情况下不会发生这种情况.你要做的是首先显示firstVIEwController的视图,然后调用你的函数.

总结

以上是内存溢出为你收集整理的ios – Swift:从另一个viewcontroller调用函数使对象为零全部内容,希望文章能够帮你解决ios – Swift:从另一个viewcontroller调用函数使对象为零所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1062191.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存