2014-08-29 1 views
0

iOS 앱 개발에 익숙하며보기간에 facebook 사용자 정보를 전달하는 데 어려움을 겪고 있습니다. 내 애플 리케이션은 2 전망이있다. 나는 this tutorial을 사용하여 페이스 북 로그인을 구현할 수있었습니다. 왜냐하면 당신은 그들이 여전히 공손한 지원을 제공하지 않는다는 것을 알기 때문입니다.보기간에 Facebook 사용자 정보를 전달합니다. iOS Swift Xcode 6

// ViewController.swift 


import UIKit 

class ViewController: UIViewController, FBLoginViewDelegate{ 

    @IBOutlet var fbLoginView : FBLoginView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
     self.fbLoginView.delegate = self 
     self.fbLoginView.readPermissions = ["public_profile", "email", "user_friends"] 
    } 

    // FACEBOOK DELEGATE METHODS 
    func loginViewShowingLoggedInUser(loginView : FBLoginView!) { 
     println("User Logged In") 
     println("This is where you perform a segue.") 
     self.performSegueWithIdentifier("gotoMenu", sender: self) 

    } 

    func loginViewFetchedUserInfo(loginView : FBLoginView!, user: FBGraphUser){ 
     println(user.name) 
    } 

    func loginViewShowingLoggedOutUser(loginView : FBLoginView!) { 
     println("User Logged Out") 
    } 

    func loginView(loginView : FBLoginView!, handleError:NSError) { 
     println("Error: \(handleError.localizedDescription)") 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 


} 

이 두 번째 뷰 컨트롤러 :

// SecondViewController.swift 

import UIKit 

class SecondViewController: UIViewController { 

    @IBOutlet weak var greeting: UILabel! 


    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 

    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 


} 

나는 두 번째보기에서 사용자 이름을 표시해야하고 가능하면 자신의 프로필 사진

이것은 내보기 컨트롤러입니다. 어떻게해야합니까? 당신의 LoginViewController에서 닉

+0

이렇게하려면 여러 가지 방법이 있습니다. 문제를 해결할 수있는 여러 가지 방법이 포함 된 다음 스레드를 참조하십시오. ObjectiveC에서 모두 가능하지만 대부분은 Swift에서도 작동합니다. https://stackoverflow.com/questions/5210535/passing-data-between-view-controllers – Apfelsaft

답변

0

인사말 매우

감사합니다 당신에게 단순히 prepareForSegue를 오버라이드 (override) :

// In a storyboard-based application, you will often want to do a little preparation before navigation 
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"gotoMenu"]) { 
     SecondViewController *vc = segue.destinationViewController; 
     vc.username = self.username; // This is where you pass the data!! 
    } 
} 

...과 같이 나는이 목적-C에 알고 있지만 모든 메소드 이름은 정확히 스위프트에서도 마찬가지다.

관련 문제