简体   繁体   English

Swift-下标sort()的歧义使用-Xcode 7.3

[英]Swift - Ambiguous use of subscript sort() - Xcode 7.3

I have updated my Xcode to version 7.3, which is compatible with iOS 9.3. 我已经将Xcode更新为7.3版,该版本与iOS 9.3兼容。 My sort() method, which is let sortArr = saveDeals?.sort({ $1[2] as! String > $0[2] as! String}); 我的sort()方法, let sortArr = saveDeals?.sort({ $1[2] as! String > $0[2] as! String}); , is giving me an "ambiguous use of subscript" error. ,给我“模棱两可”的错误。 Please let me know what I can do to fix this error. 请让我知道如何解决此错误。 Thank you! 谢谢!

func sortSaveDealsArr(saveDeals: [AnyObject]?) -> [AnyObject]
{
    let sortArr = saveDeals?.sort({ $1[2] as! String > $0[2] as! String});
    return sortArr!;
}

The problem is that saveDeals is typed as a [AnyObject]? 问题是saveDeals是否键入为[AnyObject]? . Thus your $0 and $1 are each an AnyObject, and you can't subscript an AnyObject. 因此,您的$0$1都是AnyObject,并且不能下标AnyObject。 You need to cast each of these things to something that is itself subscriptable. 您需要将所有这些内容转换为本身可以下标的内容。 I don't know what's in your array so I can't say what that would be. 我不知道您的阵列中有什么,所以我不能说那是什么。 Is saveDeals an array of arrays? saveDeals是一个数组数组吗? If so, you need to cast saveDeals to that. 如果是这样,则需要将saveDeals转换为该值。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM