gpt4 book ai didi

ios - 无法在一个文件中使用另一个文件中的函数

转载 作者:行者123 更新时间:2023-11-30 13:19:43 28 4
gpt4 key购买 nike

我创建了一个名为“Util.swift”的文件,它有一个类“class VC: UIViewController”并有 2 个函数:

Next(segue: String) {
performSegueWithIdentifier(segue, completion: nil)
}

Back() {
dismissViewControllerAnimated(true, completion: nil)
}

基本上,这些函数只是告诉当前的 viewController 转到下一个 View 或返回到上一个 View 。

但是,在另一个文件中,我有一个附加到按钮的 IBAction,在该操作中,我通过执行以下操作在 Util 文件中调用函数“后退”:

@IBACTION func ~~~ {
nextVC = Util()
nextVC.back()
}

但是,当我单击该按钮时,它没有执行任何操作。

当我尝试通过执行相同的操作并放入 segue indetifier 参数将另一个按钮连接到调用 Util 文件中的“next”函数的操作时,它显示 SIGABRT 错误:没有名为“xxx”的 segue 标识符。

有人可以帮助我吗?我应该只使用 XIB 而不是使用 segues 吗?

最佳答案

您必须使用 storyBoard 或使用 XIB 初始化 UIViewController。如果您使用工厂 init() 方法,那么它不会为您做任何事情;这意味着,这不是与 storyBoardXIB 关联的 viewController。因此,您所需要做的就是使用任一选项实例化 viewController。在此之前,您需要为 viewController 设置一个 identifier 来实例化它。

let storyBoard = UIStoryBoard(name: "MainStoryBoard", bundle: nil)
let vc = storyBoard.instanstiateViewControllerWithIdentifier("YOUR_IDENTIFIER") as! Util
//call your Next method like this
vc.Next(segue:"identifier")

请引用文档 Apple Doc

关于ios - 无法在一个文件中使用另一个文件中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37892495/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com