用于条件绑定的初始化程序必须具有可选类型,而不是'[AnyHashable:Any]'

问题描述 投票:0回答:1

当我这样输入时:

func onAppOpenAttribution(_ attributionData: [AnyHashable : Any]!) {
    if let data = attributionData {
        if let link = data["link"]{
            print("link:  \(link)")
        }
    }
}

我在此行if let data = attributionData上收到错误消息“用于条件绑定的初始化程序必须具有可选类型,而不是'[AnyHashable:Any]'”

如何修复?

ios swift appdelegate appsflyer appsflyer-ios-sdk
1个回答
0
投票
func onAppOpenAttribution(_ attributionData: [AnyHashable : Any]?) {

您的attributionData应该是可选类型,如果使用let case来安全地包装可选值,则为if let data = attributionData。但是目前,您正在向其传递非可选值。因此,您有两个选择。将attributionData设为可选,或删除if let statement

© www.soinside.com 2019 - 2024. All rights reserved.