在没有Segues的Storyboard之间传递variables – Swift
我在Xcode中的两个不同的.storyboard文件中的两个不同的UIViewControllers之间传递数据。 (这是一个相当大的项目,所以我不得不把它分解成不同的故事板。)
我已经在视图中build立了“exercisePassed”variables(string),我想将数据传递给我,并且我已经知道如何在位于不同故事板中的两个视图之间移动。 像这样。
var storyboard = UIStoryboard(name: "IDEInterface", bundle: nil) var controller = storyboard.instantiateViewControllerWithIdentifier("IDENavController") as! UIViewController //************************************** var ex = //Stuck Here ex.exercisedPassed = "Ex1" //************************************** self.presentViewController(controller, animated: true, completion: nil)
如何在不使用Segue / PrepareForSegue的情况下传递数据?
我假设你想要传递数据的viewController是一个自定义viewController。 在这种情况下,在这里使用这个修改的代码:
var storyboard = UIStoryboard(name: "IDEInterface", bundle: nil) var controller = storyboard.instantiateViewControllerWithIdentifier("IDENavController") as! MyCustomViewController controller.exercisedPassed = "Ex1" self.presentViewController(controller, animated: true, completion: nil)
据我所知,你的问题不是很清楚
//1 //create a variable in "IDENavController" //eg var someVariable = @"" //2 var controller = storyboard.instantiateViewControllerWithIdentifier("IDENavController") as! UIViewController controller.someVariable = [assign your variable] //3 self.presentViewController(controller, animated: true, completion: nil)
尝试这个。 这对我有效。
var storyboard = UIStoryboard(name: "IDEInterface", bundle: nil) var controller = storyboard.instantiateViewControllerWithIdentifier("IDENavController") as! YourDestinationViewControllername // Add your destination view controller name and Identifier // For example consider that there is an variable xyz in your destination View Controller and you are passing "ABC" values from current viewController. controller.xyz = "ABC" self.presentViewController(controller, animated: true, completion: nil)
希望这会有所帮助。
对于那些正在寻找Swift 3/4的人的回答:
let storyboard = UIStoryboard(name: "IDEInterface", bundle: nil) let controller = storyboard.instantiateViewController(withIdentifier: "IDENavController") as! CustomViewController controller.yourVariable = "abc" self.present(controller, animated: true, completion: nil)
- moveRowAtIndexPath没有删除button
- RegisterUserNotificationSettings在ios 6.1中不起作用
- 如何在iOS中的另一个用户计算用户位置近20英里
- Facebook SDK iOS:添加post以提供图片
- 在xx-xx-xxx中的UITextField格式
- Xcode更改构build的应用程序文件夹的位置
- UIAlertView addSubview在iOS7中
- 暂停SpriteKit游戏 – UIApplicationWillResignActive与UIApplicationDidBecomeActive?
- 将文本分配给UILabel(iOS,Swift 4,XCode9)时内存泄漏