1
我一直在努力争取一段时间,我已经接近有一个功能性应用程序,所以把我的头发拉出来。我从Facebook图形请求中获得了一些基本信息,并将其从字典中提取出来。然后我使用prepareforsegue将名称传递给第二个视图控制器。我计划在各种不同场景中使用'姓名'作为唯一标识符。在两个视图控制器之间传递变量时出现错误Swift
不幸的是,我收到一个错误,我不知道如何解决:'类型'UIStoryboardSegue'的值没有成员'SecondViewController'。我已经在第二个视图控制器中声明了var:var destViewController:String!
任何指针将如此赞赏。我感到非常沮丧,因为在这个工作之前,我无法转向其他任何东西。
的代码是在这里:
let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
fbLoginManager.loginBehavior = FBSDKLoginBehavior.web
fbLoginManager.logIn(withReadPermissions: ["public_profile","email"], from: self) { (result, error) -> Void in
if error != nil {
print(error?.localizedDescription)
self.dismiss(animated: true, completion: nil)
} else if (result?.isCancelled)! {
print("Cancelled")
self.dismiss(animated: true, completion: nil)
} else {
}
}
FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, name, relationship_status, gender, location, education"]).start(completionHandler: { (connection, result, error) -> Void in
if (error == nil){
let fbDetails = result as! NSDictionary
print(fbDetails)
if let userDataDict = result as? NSDictionary {
let name = userDataDict["name"] as? String
func prepareForSegue(segue: UIStoryboardSegue!, sender: Any!) {
if (segue.identifier == "loginToHome") {
//Checking identifier is crucial as there might be multiple
// segues attached to same view
var destViewController = segue.SecondViewController as? SecondViewController;
destViewController.name = name
var bookUniverse = [String]()
}
}
}
}
感谢您的回答。现在,我只是想抓住这个名字。如果我使用类,你的意思是这样的:class name { static let userName =“name” } –
对不起,我有另一个问题,我很抱歉。我仍在学习。我在哪里放课。在第一个顶部?非常感谢! –
所以你想要做的是在你的类实例化之下,你会这样做:fileprivate var someVariableName:String = name。那么你可以这样做:destViewController.name = someVariableName – Jay