2016-03-28 82 views
0

我已將Xcode更新至版本7.3,該版本與iOS 9.3兼容。我的sort()方法,即let sortArr = saveDeals?.sort({ $1[2] as! String > $0[2] as! String});,給了我一個「模糊使用下標」的錯誤。請讓我知道我能做些什麼來解決這個錯誤。謝謝!Swift - 模糊使用下標排序() - Xcode 7.3

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

什麼_is_'saveDeals'?一切都依賴於此。 – matt

回答

2

的問題是,saveDeals的類型是[AnyObject]?。因此,您的$0$1都是AnyObject,並且不能爲AnyObject下標。您需要將這些東西都投射到本身可以下載的東西上。我不知道你的陣列裏有什麼,所以我不能說這是什麼。是saveDeals數組的數組?如果是這樣,你需要投下saveDeals

+0

saveDeals實際上是一個數組數組。一旦我將代碼改成'func sortSaveDealsArr(saveDeals:[[AnyObject]]?) - > [[AnyObject]] {sortarr = saveDeals?.sort({$ 1 [2] as?String}); return sortArr !;這個錯誤消失了,並按預期工作。謝謝:) –

+0

太棒了。感謝您回報。 – matt