Passing Data between View Controllers without segue
我的设计撞到了墙上。我正在尝试将字符串从一个视图控制器传递到另一个视图控制器。这两个控制器没有与Segue连接。我附上了我故事板的截图。我有一种感觉,我唯一的选择是使用一个单件,或者这是可能的代表?不使用方法:
1 | override func prepare(for segue: UIStoryboardSegue, sender: Any?) |
我不能通过SEgue标识符访问VC1。在不访问标识符的情况下,如何实现这一点?
请看一看图像,让我知道我有什么选择,什么是最好的在这里使用。
如果其小类或日期字符串变量,你可以使用一些userdefault通using that类变量或类vc2.data日期=日期如何使用快捷userdefaults userdefaults如何使用?P></
如果像table or number of its黑莓用户名单,你可以使用你在商店能丛录retrieve from any视图控制器我想帮在using录录as a dictionary中迅速?P></
如果how are some双控制器,你可以使用delegates连通。在delegats:delegates雨燕?P></
You can also not sure if你是使用notifications when will be available/日或在线发送或发送一些基本动作,if something is触发。P></
通notifications日期使用日期使用notificationcentre how to通在3.0和2.0 nsnotificationcenter Swift雨燕?P></
如果你你,你,你可以以编程方式设置第二类知道VC值(三线)P></
1 2 3 4 5 6 | let storyBoard: UIStoryboard = UIStoryboard(name:"Main", bundle: nil) let newViewController = storyBoard.instantiateViewController(withIdentifier:"newViewController") as! NewViewController newViewController.stringVariable = stringVariable self.present(newViewController, animated: true, completion: nil) |
使用单程is to the view to the navigational heiarchy接入控制器。P></
你想viewcontroller from the property是通日期
1 2 3 4 5 6 7 8 9 10 11 12 | func setStringForVC2(stringToSet:String) { guard let myTabBarController = tabBarController, let tabBarViewControllers = myTabBarController.viewControllers else { return } //need to access index 1 since vc's are stored in tabbarcontroller starting with 0, so 1 to access 2nd vc. if (tabBarViewControllers.indices.contains(1)) { if let vc2 = tabBarViewControllers[1] as? VC2Class { vc2.stringIWantToSet = stringToSet } } } |