gpt4 book ai didi

ios - 在 UIStoryboard 实例化的 UIViewController (Swift) 中调用自定义函数

转载 作者:行者123 更新时间:2023-11-28 06:51:01 25 4
gpt4 key购买 nike

我认为我的问题的最佳表达方式是首先概述我要完成的工作,然后给出我的实现,然后是我遇到的问题。

目标

我正在尝试在我的 iOS 应用程序中创建一个配置文件页面,该页面可以从 Storyboard 中实例化,给定用户 ID,然后从服务器获取所有元数据。

实现

在我的 Storyboard中,我设计了 ViewController 并将 ImageViewsbuttons 等链接为 @IBOutlets。用户(使用该应用程序的人)的主页由 Storyboard 实例化,但其余部分由代码推送。为了抓取数据,我有一个函数loadDataForID(ID: Int)

现在,我遇到的问题是 #instantiateViewControllerWithIdentifier(String)返回一个 UIViewController,我无法将其上传到我的 ProfileViewController,以便调用数据获取函数。

所以,我的下一个想法是手动创建 ProfileViewController,调用辅助函数然后推送 View ,但随后我遇到了另一个问题:因为所有 View 都是 @IBOutlets ,并且这个 Controller 没有被 Storyboard 实例化,它们都是 nil 引用。

由于我是 iOS 开发的新手,我几乎可以肯定有更好的方法来实现它,但我完全被困住了;我不知道从这里去哪里。是否有解决这些问题的方法,或者我应该以不同的方式做事?

最佳答案

您可以将 instantiateViewControllerWithIdentifier(String) 转换为 ProfileViewController,如下面的代码所示:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let profileVC = storyboard.instantiateViewControllerWithIdentifier("ProfileViewControllerID") as! ProfileViewController

//Now you can access property of ProfileViewController here

self.presentViewController(profileVC, animated: true, completion: nil)

关于ios - 在 UIStoryboard 实例化的 UIViewController (Swift) 中调用自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34896529/

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