【问题标题】:Swift - Ambiguous use of subscript sort() - Xcode 7.3Swift - 下标 sort() 的模糊使用 - Xcode 7.3
【发布时间】:2016-03-28 02:56:50
【问题描述】:

我已将我的 Xcode 更新到与 iOS 9.3 兼容的 7.3 版。我的 sort() 方法,即let sortArr = saveDeals?.sort({ $1[2] as! String > $0[2] as! String});,给了我一个“下标的模糊使用”错误。请让我知道我能做些什么来解决这个错误。谢谢!

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

【问题讨论】:

  • 什么saveDeals?一切都取决于此。

标签: ios swift sorting xcode7.3


【解决方案1】:

问题是saveDeals 被键入为[AnyObject]?。因此你的$0$1 都是一个AnyObject,你不能下标一个AnyObject。您需要将这些东西中的每一个都转换为本身可下标的东西。我不知道你的数组中有什么,所以我不能说那会是什么。 saveDeals 是数组数组吗?如果是这样,您需要将saveDeals 投射到那个位置。

【讨论】:

  • saveDeals 实际上是一个数组数组。一旦我将代码更改为func sortSaveDealsArr(saveDeals: [[AnyObject]]?) -> [[AnyObject]] { let sortArr = saveDeals?.sort({ $1[2] as? String > $0[2] as? String}); return sortArr!; },错误就会消失并按预期工作。谢谢:)
  • 太棒了。感谢您的反馈。
猜你喜欢
  • 2017-03-07
  • 1970-01-01
  • 1970-01-01
  • 2016-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多