添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
精选内容/技术社群/优惠产品, 尽在小程序
立即前往

Swift:网络请求在AppStart in AppDelegate - CompletionHandler in ViewController?

在iOS开发中,Swift是一种流行的编程语言,用于开发iOS应用程序。网络请求通常在应用程序启动时发起,可以通过在AppDelegate中进行处理。在AppDelegate的application(_:didFinishLaunchingWithOptions:)方法中,可以使用网络请求库(如Alamofire)发起网络请求。

在网络请求完成后,可以使用CompletionHandler将结果传递给ViewController。CompletionHandler是一个闭包,用于处理异步操作的结果。可以将CompletionHandler作为参数传递给网络请求方法,并在请求完成时调用它。在CompletionHandler中,可以处理网络请求的结果,更新UI或执行其他操作。

以下是一个示例代码:

在AppDelegate中:

代码语言: swift
复制
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // 发起网络请求
    NetworkManager.shared.makeRequest { result in
        // 将结果传递给ViewController
        NotificationCenter.default.post(name: Notification.Name("NetworkRequestCompleted"), object: result)
    return true
}

在ViewController中:

代码语言: swift
复制
override func viewDidLoad() {
    super.viewDidLoad()
    // 监听网络请求完成的通知
    NotificationCenter.default.addObserver(self, selector: #selector(handleNetworkRequestCompleted(_:)), name: Notification.Name("NetworkRequestCompleted"), object: nil)