【发布时间】:2014-08-29 06:01:14
【问题描述】:
我是 iOS 应用程序开发的新手,我很难在视图之间传递 facebook 用户信息。我的应用有 2 个视图。我能够使用this tutorial 实现 facebook 登录,因为您可能知道他们仍然没有为 swift 提供官方支持。
这是我的视图控制器:
// 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.
}
}
我需要在第二个视图中显示用户名,并尽可能显示他的个人资料照片。我该怎么做?
非常感谢 问候 尼克
【问题讨论】:
-
有多种方法可以实现这一点。请参阅以下线程,其中包含解决问题的不同方法。全部在 ObjectiveC 中,但它们中的大多数也可以在 Swift 中工作。 stackoverflow.com/questions/5210535/…