I have two arrays
let a1 = [obj1, obj2, obj3]
let a2 = [obj3, obj2, obj1]
Assume that the array elements are custom objects which are
If the items are unique and equatable (as in your example), convert to a Set and compare the Sets:
let a1 = [1, 2, 3]
let a2 = [3, 2, 1]
Set(a1) == Set(a2)
With some futzing, this can be made to work for an arbitrary class:
class Person : NSObject {
let name: String
init(name:String) {self.name = name}
override func isEqual(other: AnyObject?) -> Bool {
return other is Person && (other as! Person).name == self.name
}
override var hashValue : Int {
return self.name.hashValue
}
}
let a1 = [Person(name:"Matt"), Person(name:"Sam")]
let a2 = [Person(name:"Sam"), Person(name:"Matt")]
Set(a1) == Set(a2)