Swift 中的错误:(键:AnyObject,值:AnyObject)' 不能转换为 'NSDictionary'

Posted

技术标签:

【中文标题】Swift 中的错误:(键:AnyObject,值:AnyObject)\' 不能转换为 \'NSDictionary\'【英文标题】:Error in Swift : (key: AnyObject, value: AnyObject)' is not convertible to 'NSDictionary'Swift 中的错误:(键:AnyObject,值:AnyObject)' 不能转换为 'NSDictionary' 【发布时间】:2015-04-23 16:36:55 【问题描述】:

我有一个错误:错误:(键:AnyObject,值:AnyObject)'不可转换为'NSDictionary'。请帮我解决这个问题,我尝试了不同的解决方案,但都没有成功。

func getLastDayRatesData() -> NSDictionary? 
    if var rates = getRatesDataFromPlist() 
        if let lastUpdated = rates["last_updated"] as? NSDate
            let ratesWithoutDate: NSMutableDictionary = rates as! NSMutableDictionary
            var sortedByDateRates = sorted(ratesWithoutDate) ($0.0 as! String) > ($1.0 as! String)
            if let latestRates = sortedByDateRates.first 
                return latestRates // Error: (key: AnyObject, value: AnyObject)' is not convertible to 'NSDictionary'
            
        
    
    return nil

【问题讨论】:

粘贴更多代码? getRatesDataFromPlist() 里面是什么? 您尝试对字典进行排序,结果是键值元组数组。您不能对字典进行排序。 谢谢。我找到了解决办法。 您好 Stillfinder,欢迎来到该网站,很高兴您找到了解决方案。您可能应该使用解决方案编辑问题,添加自己的答案或完全删除问题。通过解释问题或在不可能的情况下帮助社区,然后删除问题,而不是让网站混乱(即没有有用答案的问题)。如果您在 SO 上找到答案,请指向该解决方案的链接并进行描述。不要留下没有接受答案的混乱问题。 【参考方案1】:

只是将您的代码更改为

func getLastDayRatesData() ->  (AnyObject, AnyObject)?

一切正常。

【讨论】:

以上是关于Swift 中的错误:(键:AnyObject,值:AnyObject)' 不能转换为 'NSDictionary'的主要内容,如果未能解决你的问题,请参考以下文章

尝试修复 Swift 3 错误;无法使用“String”类型的索引为“[[String:AnyObject]]”类型的值下标[关闭]

Swift 2:“Set<UITouch>”类型的值没有成员“anyObject”[重复]

为啥在 Swift 中的铸造成本如此之高,而不是……将其保留为 AnyObject?

无法转换任何类型?要键入 AnyObject?从 swift 3 转换为 swift 4 时

如何比较Swift中的两个词典?

Swift错误无法转换类型'(AFHTTPRequestOperation?,AnyObject?)->()的值