在Swift中的視圖控制器之間傳遞數(shù)據(jù)我正在嘗試將應(yīng)用程序從Objective-C轉(zhuǎn)換為Swift,但我找不到如何使用Swift在視圖之間傳遞數(shù)據(jù)。我的Objective-C代碼是UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];AnsViewController *ansViewController;ansViewController = [storyBoard instantiateViewControllerWithIdentifier:@"ansView"];ansViewController.num = theNum;[self presentViewController:ansViewController animated:YES completion:nil];它正在做的是它基本上取變量theNum,并將它傳遞給另一個(gè)視圖控制器上的變量num。我知道這可能是一個(gè)簡(jiǎn)單的問(wèn)題,但我對(duì)Swift非常困惑,所以如果有人能解釋他們?nèi)绾螌⑵涓臑镾wift,我將不勝感激!謝謝
3 回答

元芳怎么了
TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊
讓我們假設(shè)我們站在firstView轉(zhuǎn)到DetailView并希望將數(shù)據(jù)從firstView傳遞到Detailview。要使用storyboard,在firstView,我們將有一個(gè)方法:
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { if (segue.identifier == "segueTest") { //Checking identifier is crucial as there might be multiple // segues attached to same view var detailVC = segue!.destinationViewController as DetailViewController; detailVC.toPass = textField.text }}
然后進(jìn)入DetailView類(lèi)我們聲明了一個(gè)變量:
var toPass: String!
那么你可以使用變量toPass
(當(dāng)然你可以根據(jù)需要改變變量的類(lèi)型,在這個(gè)EX我只是為字符串類(lèi)型演示)。

慕田峪4524236
TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊
class AnsViewController: UIViewController { var theNum: Int override func viewDidLoad() { super.viewDidLoad() println(theNum) }}override func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) { let viewController = self.storyboard.instantiateViewControllerWithIdentifier("ansView") as AnsViewController viewController.num = theNum self.presentViewController(viewController, animated: true, completion: nil)}
- 3 回答
- 0 關(guān)注
- 822 瀏覽
添加回答
舉報(bào)
0/150
提交
取消