我认为我的问题最好通过首先概述我想要完成什么,然后给出我的实施,然后是我遇到的问题来表达。
我正在尝试在iOS应用中创建一个配置文件页面,该页面可以从Storyboard中实例化,给定用户ID,然后从服务器获取所有元数据。
在我的故事板中,我设计了Select AstNum from Files_master
Order by
parsename(replace(AstNum,'/','.'),2)*1 ASC,parsename(replace(AstNum,'/','.'),1)*1 ASC
并将ViewController
,ImageViews
等等与buttons
相关联。用户(使用应用程序的人)主页由Storyboard实例化,但其余部分由代码推送。为了获取数据,我有一个函数@IBOutlets
现在,我遇到的问题是,#instantiateViewControllerWithIdentifier(String)
会返回loadDataForID(ID: Int)
,我无法将其转发到UIViewController
,以便调用数据提取功能。
所以,我的下一个想法是手动创建ProfileViewController
,调用帮助函数,然后推送视图,但后来又遇到了另一个问题:因为所有视图都是ProfileViewController
,这个控制器没有被Storyboard实例化,它们都是零引用。
由于我是iOS开发的新手,我几乎可以肯定有更好的方法来实现这一点,但我完全陷入困境;我不知道从哪里开始。有没有解决这些问题的方法,还是我应该以不同的方式做事?
答案 0 :(得分:1)
您可以将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)