gpt4 book ai didi

ios - Swift:从另一个函数获取函数中的变量

转载 作者:搜寻专家 更新时间:2023-11-01 07:00:00 26 4
gpt4 key购买 nike

我的项目中有这段代码(Xcode 9.4.1 (9F2000), Swift 3):

func application(_ application: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
let tokenParts = deviceToken.map { data -> String in
return String(format: "%02.2hhx", data)
}
let token = tokenParts.joined()
print("Device Token: \(token)\n")
}
func httpRequest() {
let postString = "token=\(token)"
}

这将打印推送通知的设备 token 。

但是对于 let postString = "token=\(token)" 我得到这个:

Use of unresolved identifier 'token'

我想我无法从另一个函数访问变量。

如何从其他函数访问我的函数 httpRequest() 中的那个变量?

最佳答案

你需要为此创建一个变量

var myToken:String?

//

  func application(_ application: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
let tokenParts = deviceToken.map { data -> String in
return String(format: "%02.2hhx", data)
}
let token = tokenParts.joined()
self.myToken = token
print("Device Token: \(token)\n")
}
func httpRequest() {
if let postString = myToken {
}
}

注意:在收到 token 之前不要发起任何请求,因此要么在 didRegisterForRemoteNotificationsWithDeviceToken 中触发通知到应用程序的其他部分,要么在结束时运行它获得 token 后的功能,也更好地存储 token 或与单例共享它以便于在任何地方访问

关于ios - Swift:从另一个函数获取函数中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51365956/

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