Swift 条件绑定的初始值设定项必须具有可选类型,而不是';[字符串:任意]';

Swift 条件绑定的初始值设定项必须具有可选类型,而不是';[字符串:任意]';,swift,swift3,alamofire,optional-parameters,Swift,Swift3,Alamofire,Optional Parameters,谁能告诉我怎么解决这个问题吗?我只是想从说话的人那里接收信号 `self.title = "Home" print("Requesting data...") Alamofire.request( "https://api.thingspeak.com/channels/290427/feeds.json", parameters: ["results": "1", "location": "false"]) // Gets the latest info from Thi

谁能告诉我怎么解决这个问题吗?我只是想从说话的人那里接收信号

   `self.title = "Home"
    print("Requesting data...")
    Alamofire.request( "https://api.thingspeak.com/channels/290427/feeds.json", parameters: ["results": "1", "location": "false"]) // Gets the latest info from ThingSpeak
        .responseJSON { response in

            print("Data downloaded: \(response.result)")
            if let json = response.result.value as! [String:Any] {
                print(json) //see full data

                if let feeds = json["feeds"] as? [String: Any] {

                    for feed in feeds {
                        print(feed["field2"])
                        if let temperatureStr = feed["field2"] as? String, let dateStr = feed["created_at"] as? String {
                            if let temperature = Double(temperatureStr){
                                self.label.text = "Temperature: \(temperature)°F" //Displays last updated data entry

                            }
错误在队列中

if let json = response.result.value as! [String:Any] {

错误消息说“条件绑定的初始值设定项必须具有可选类型,而不是“[String:Any]”

如果要使用条件绑定,表达式的右侧应该是可选的

更改此项:

if let json = response.result.value as! [String:Any]
为此:

if let json = response.result.value as? [String:Any]

如果要使用条件绑定,表达式的右侧应该是可选的

更改此项:

if let json = response.result.value as! [String:Any]
为此:

if let json = response.result.value as? [String:Any]

该消息意味着您需要具有可选类型,所以只需更改

如果让json=response.result.value为![String:Any]{


该消息意味着您需要具有可选类型,所以只需更改

如果让json=response.result.value为![String:Any]{


as!
替换为
as?
(如下两行)。-顺便说一句,您的问题标题甚至与错误消息不匹配。将
as!
替换为
as?
(如下两行)。-顺便说一句,您的问题标题甚至与错误消息不匹配。这些都不起作用。下面给出了几个构建错误。[以下是我在?][1][1]中输入的生成错误:@ColinH答案是正确的。这些新错误与原始问题无关。您的代码中存在大量语法错误(例如,
DateFormatter()
而不是
DateFormatter
)您应该修复它们。@ColinH我回答的是条件绑定。从您的屏幕截图来看,您的代码方面似乎还有许多其他问题,这些问题不是您的问题所要求的。这些问题不起作用。下面给出了几个生成错误。[这是我在?][1][1]中输入时遇到的生成错误]:@ColinH答案是正确的。这些新错误与原始问题无关。代码中存在大量语法错误(例如,
DateFormatter()
而不是
DateFormatter
)你应该解决它们。@ColinH我回答的是条件绑定。从你的屏幕截图上看,你的代码方面似乎有许多其他问题,而这些问题不是你问的。