【发布时间】:2014-09-27 22:06:24
【问题描述】:
我正在迅速扩展Array 类。我需要对数组进行排序,但是当我尝试排序时,会出现错误Immutable value of type 'Array<T>' only has mutating members named 'sort'
这是我的扩展:
import UIKit
extension Array {
func sortedArrayByTimeUsingKey(key: String, ascending: Bool) {
sort { (firstObject, secondObject) -> Bool in
let firstDict = firstObject as [String: AnyObject]
let secondDict = secondObject as [String: AnyObject]
let firstDateString = firstDict[key]! as String
let secondDateString = secondDict[key]! as String
let dateFormatter = DateFormatter()
let firstDate = dateFormatter.dateFromString(firstDateString)!
let secondDate = dateFormatter.dateFromString(secondDateString)!
let order = firstDate.compare(secondDate)
switch order {
case .OrderedAscending:
return ascending ? true : false
case .OrderedDescending:
return ascending ? true : false
default:
return true
}
}
}
}
如何将self 转换为可变的,或者如何检查self 是否可变?
【问题讨论】: