1
我有以下结构:检查是否结构是在阵列
struct MyStrict {
let prop1: String
let prop2: [String: NSData]
let prop3: [String]
init (prop11: String, prop22: [String : NSData], prop33: [String]) {
prop1 = prop11
prop2 = prop22
prop3 = prop33
}
}
实例结构被放置在阵列。我需要做的是找出具有这些属性的结构是否在阵列中。我需要比较数据。
事情是这样的:
var arr = [MyStrict]()
var str1 = MyStrict(prop11: "test1", prop22: ["aa": NSData()], prop33: ["bb"])
arr.append(str1)
var str2 = MyStrict(prop11: "test2", prop22: ["bb": NSData()], prop33: ["cc"])
arr.append(str2)
var str3 = MyStrict(prop11: "test3", prop22: ["cc": NSData()], prop33: ["dd"])
arr.append(str3)
var str4 = MyStrict(prop11: "test1", prop22: ["aa": NSData()], prop33: ["bb"]) // has the same data as str1
arr.append(str4)
正如你可以看到str1
和str4
具有相同的数据。所以str4
不应该添加到数组中。
我的问题什么是正确的方法来做到这一点?
或者只是'if contains(arr,str4)...' –
I编辑答案。包含更符合问题需求。 –