gpt4 book ai didi

ios - 在另一个类中调用 segue,UI 具有 swift

转载 作者:行者123 更新时间:2023-11-29 02:33:42 25 4
gpt4 key购买 nike

我正在使用 swift 创建一个 ios 应用程序。我有一个 UIViewController 和一个继承自 NSObject 的“UserManager”类。基本上,当用户打开应用程序时,会执行 UIViewController 中的代码。 UIViewController 调用 UserManager 中的函数。当此函数完成后,我希望执行转场(在我的代码中称为“connectSegue”的转场)。我是初学者...

我做了什么(但没用!):

这是我的 View Controller :

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 的实例。

处理此问题的更好方法是在调用登录后在 ViewController 中调用 performSegueWithIdentifier。

一般来说,最好不要将 UI 导航放在非 UI 类中。如果 UserManager 只执行用户功能而不负责 UI 职责,它会更有用。如果 UserManager 正在异步执行其工作,那么您应该考虑在工作完成时使用通知与您的 ViewController 进行通信,以便它可以执行 segue。

关于ios - 在另一个类中调用 segue,UI 具有 swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26609557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com