2016-05-30 5 views
0

ログインビューコントローラでユーザがログインしたときにメールを保存して表示しますビルドと実行時にメニューが最初に表示されます。したがって、ユーザーはまだログインビューコントローラでログインしていないため、変数には何も含まれません。データを別のビューコントローラに移動しますが、2番目のビューコントローラは1番目のビューコントローラの前に最初にロードします

イムメールが

let emailFill:String = self.emailTextfield.text! 

を記入し、labelContainEmailがトップ

i「は
var labelContainEmail: String = "" 

でグローバル変数である

self.labelContainEmail = emailFill 

を使用しているテキストフィールドのテキストを宣言するために、これを使用してこのようにデータを移動するためにセグの準備を使用して

slideOutMenu.swiftで
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 
{ 
    if segue.identifier == "yolo" 
    { 
     let vc = segue.destinationViewController as! SlideOutMenu 
     vc.labelContainEmail2 = labelContainEmail 
     print(vc.labelContainEmail2) // this don't print anything, but when i print under `self.labelContainEmail = emailFill` it printed out the email 
    } 
} 

、私はトップ

var labelContainEmail2: String = "" 

でこのVARを持っているし、ビューに

labelEmail.text = labelContainEmail2 

とラベルテキストを変更しようとするロード

何をしました私はする必要がありますか?簡単に行ってください、私はslideOutMenu.swiftにNSUserDefaults

NSUserDefaults.standardUserDefaults().setObject(labelContainEmail , forKey: "email") // save user email 

でセグエストアの電子メールのために準備し、ビューにしてラベルテキストを変更しようと使用して迅速

+1

あなたの質問を理解できません!あなたは正確に何をしたいですか? – Lion

答えて

1

に新たなんだ

ロードを行いました
if (NSUserDefaults.standardUserDefaults().objectForKey("email")) == nil 
{ 
    NSUserDefaults.standardUserDefaults().setObject("" , forKey: "email") 
} 
else 
{ 
    let emailStr = NSUserDefaults.standardUserDefaults().objectForKey("email") as! String 
} 
+0

ありがとうございました!あなたは素晴らしいです! –

+0

OKいつもようこそ –

0

あなたが上にこの行を使用することができます

** 2番目のビュー

class SlideOutMenu: UIViewController { 

    var labelContainEmail: String? 

    //your code here 
} 

最初のビューから2番目のビューに移動します。

**使用最初のビュー

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 
{ 
    if segue.identifier == "yolo" 
    { 
     let vc = segue.destinationViewController as! SlideOutMenu 
     vc.labelContainEmail2 = labelContainEmail 
     print(vc.labelContainEmail2) // this don't print anything, but when i print under `self.labelContainEmail = emailFill` it printed out the email 
    } 
} 

私はそれはあなたが他の賢明なあなたがパス・データのためにも、より良い方法をモデルクラスを使用することができます助けることを願っています。

関連する問題