像透過ViewController 的performSegueWithIdentifier(identifier:String,sender:AnyObject?)
透過protocol 傳等等 還有好多方法
但是這次用的是NSNotificationCenter 的userInfo
首先在第一個viewController 用 NSNotificationerCenter.defaultCenter().postName方法
第二個viewController 用 NSNotificationerCenter.defaultCenter().addObserver方法
看了網路上好多人的版本再看看自己的也都對,而且以前做的也成功..找了半天也找不到哪裡問題 後來找到了原因
之前能成功是因為第二個ViewController 不在storyboard上面,而是直接programically 產生的,然後這樣的情況之下 在第二個ViewController裡是觀察的到NSNotificationCenter傳過來的訊息的
之後,也就是這次是兩個ViewController都是在sotryboard上的,所以在第一個viewController 按下按鈕後,第二個viewController是收不到第一個 ViewController的post notification的.
解決辦法就是在第一個viewController 要presentViewController時,把裡面的viewController換成
let storyBoard = UIStoryboard.init(name: "Main", bundle: nil)
let vc = storyBoard.instantiateViewControllerWithIdentifier("ViewController2")
這樣果然數值就傳過去了
另一個不用這兩行的方法就是 還用performSegueWithIdentifier ,但是 在storyboard上面要把segue kind 改成 "Modal" 而不是預設的"show"
這樣達到一樣效果