gpt4 book ai didi

swift - 拆分字符串导致类型 'Any?' 的值没有成员 'components'

转载 作者:行者123 更新时间:2023-11-28 10:35:33 25 4
gpt4 key购买 nike

我有一个使用带有 swift 4 的 webview IOS 的函数。我正在尝试分解 result,但我得到的是 Value of type 'Any?'没有成员“组件”,我不知道如何解决这个问题。我是 swift 的新手。

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
self.webView.evaluateJavaScript("document.getElementById('user_id').innerText") { (result, error) in
if result != nil {
let items = result.components(separatedBy: "|")
self.ref?.child("people").child(result as! String).setValue(["device_token": self.deviceTokenStringfinal])
}
}
}

最佳答案

因为 result 可以是任何东西:字符串、数字、数组、JSON 对象……取决于您的 Javascript 返回的内容。 Swift 在编译时无法知道这一点,因此它将 result 标记为 Any

您必须在运行时进行转换:

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
self.webView.evaluateJavaScript("document.getElementById('user_id').innerText") { (result, error) in
guard let result = result as? String else { return }

let items = result.components(separatedBy: "|")
self.ref?.child("people").child(result).setValue(["device_token": self.deviceTokenStringfinal])
}
}

关于swift - 拆分字符串导致类型 'Any?' 的值没有成员 'components',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53787197/

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