为了账号安全,请及时绑定邮箱和手机立即绑定

iOS-如何使用Swift快速编程选择

iOS-如何使用Swift快速编程选择

iOS
杨__羊羊 2019-10-15 13:57:35
我正在创建一个使用Facebook SDK来验证用户身份的应用程序。我正在尝试将Facebook逻辑合并到一个单独的类中。这是代码(为简单起见而被剥离):import Foundationclass FBManager {    class func fbSessionStateChane(fbSession:FBSession!, fbSessionState:FBSessionState, error:NSError?){        //... handling all session states        FBRequestConnection.startForMeWithCompletionHandler { (conn: FBRequestConnection!, result: AnyObject!, error: NSError!) -> Void in            println("Logged in user: \n\(result)");            let storyboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())            let loggedInView: UserViewController = storyboard.instantiateViewControllerWithIdentifier("loggedInView") as UserViewController            loggedInView.result = result;            //todo: segue to the next view???        }    }}我正在使用上面的类方法来检查会话状态更改,并且工作正常。问:获得用户数据后,如何在此自定义类中选择下一个视图?编辑:为了清楚起见,我在情节提要上有一个带有标识符的segue,并且我试图找到一种从不是视图控制器的类中执行segue的方法
查看完整描述

3 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

如果情节提要存在于情节提要中,并且在两个视图之间都有一个情节标识符,则可以使用以下方式以编程方式调用它:


performSegue(withIdentifier: "mySegueID", sender: nil)

对于旧版本:


performSegueWithIdentifier("mySegueID", sender: nil)

您也可以这样做:


presentViewController(nextViewController, animated: true, completion: nil)

或者,如果您在导航控制器中:


self.navigationController?.pushViewController(nextViewController, animated: true)


查看完整回答
反对 回复 2019-10-15
?
三国纷争

TA贡献1804条经验 获得超7个赞

您可以使用NSNotification


在您的自定义类中添加一个post方法:


NSNotificationCenter.defaultCenter().postNotificationName("NotificationIdentifier", object: nil)

在您的ViewController中添加观察者:


NSNotificationCenter.defaultCenter().addObserver(self, selector: "methodOFReceivedNotication:", name:"NotificationIdentifier", object: nil)

在您的ViewController中添加功能:


func methodOFReceivedNotication(notification: NSNotification){

    self.performSegueWithIdentifier("yourIdentifierInStoryboard", sender: self)

}


查看完整回答
反对 回复 2019-10-15
?
喵喔喔

TA贡献1735条经验 获得超5个赞

如果情节提要存在于情节提要中,并且在两个视图之间都有一个情节标识符,则可以使用以下方式以编程方式调用它:


self.performSegueWithIdentifier("yourIdentifierInStoryboard", sender: self)

如果您在导航控制器中


let viewController = YourViewController(nibName: "YourViewController", bundle: nil)        

self.navigationController?.pushViewController(viewController, animated: true)

我将建议您使用导航控制器的第二种方法。


查看完整回答
反对 回复 2019-10-15
  • 3 回答
  • 0 关注
  • 394 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信