0
下面的代码是从这样的回答:https://stackoverflow.com/a/28191539/4096655排序添加到阵列包装类
public class SynchronizedArray<T> {
private var array: [T] = []
private let accessQueue = dispatch_queue_create("SynchronizedArrayAccess", DISPATCH_QUEUE_SERIAL)
public func append(newElement: T) {
dispatch_async(self.accessQueue) {
self.array.append(newElement)
}
}
public subscript(index: Int) -> T {
set {
dispatch_async(self.accessQueue) {
self.array[index] = newValue
}
}
get {
var element: T!
dispatch_sync(self.accessQueue) {
element = self.array[index]
}
return element
}
}
}
var a = SynchronizedArray<Int>()
a.append(1)
a.append(2)
a.append(3)
// can be empty as this is non-thread safe access
println(a.array)
// thread-safe synchonized access
println(a[0])
println(a[1])
println(a[2])
我做的事情很喜欢,但我有麻烦建立一种传递到仿制药的阵列。理想情况下,我想要一个sortInPlace,但不知道如何去做。
我将如何指定对象的属性进行排序? –
我看到它只是对可比较的符合性中定义的内容进行排序,这将起作用,谢谢! –