Ios 调用另一个类中的segue,该类使用swift调用UI
我正在用swift创建一个ios应用程序。我有一个UIViewController和一个从NSObject继承的“UserManager”类。基本上,当用户打开应用程序时,将执行UIViewController中的代码。UIViewController调用UserManager中的函数。当这个函数完成后,我希望执行一个segue(在我的代码中称为“connectSegue”的segue)。我是一个初学者 我所做的(但没有成功!): 这是我的ViewController:Ios 调用另一个类中的segue,该类使用swift调用UI,ios,swift,uiviewcontroller,segue,Ios,Swift,Uiviewcontroller,Segue,我正在用swift创建一个ios应用程序。我有一个UIViewController和一个从NSObject继承的“UserManager”类。基本上,当用户打开应用程序时,将执行UIViewController中的代码。UIViewController调用UserManager中的函数。当这个函数完成后,我希望执行一个segue(在我的代码中称为“connectSegue”的segue)。我是一个初学者 我所做的(但没有成功!): 这是我的ViewController: import UIKit
import UIKit
var profileUser = UserManager()
class ViewController : UIViewController{
override func viewDidLoad() {login()}
func login()->Void {profileUser.createUser()}
func handleSegue()->Void {self.performSegueWithIdentifier("connectSegue",sender: self)}
}
这是我的UserManager类:
import Foundation
class UserManager: NSObject {
//Some properties
func createUser()->Void {
//Some code
var segueHandler = ViewController()
segueHandler.handleSegue()
}
}
我该怎么做?
谢谢问题是您的UserManager正在创建ViewController的新实例,而不是调用UserManager的实例 更好的处理方法是在调用login之后,在ViewController中调用PerformsgueWithIdentifier
一般来说,最好不要将UI导航放在非UI类中。如果UserManager只执行用户功能,而不执行UI职责,那么它将更加有用。如果UserManager异步地执行它的工作,那么当工作完成时,您应该考虑使用通知来回传到VIEW控制器,这样它就可以执行SeGUE。这是我的第一次尝试,在login()之后调用performsguewithidentifier,但没有成功,因为login()没有时间完成他的部分工作。所以我想看看如何使用通知来管理它