【发布时间】:2020-08-24 19:45:55
【问题描述】:
我在我的项目中使用 swift。我有 2 个来自同一类的对象(例如来自 MyClass 类的对象 A 和对象 B):
class MyClass: NSObject {
var someString: String = ""
var someInt: Int = 0
}
...
let A = MyClass()
A.someString = "A object"
A.someInt = 1
let B = MyClass()
B.someString = "B object"
B.someInt = 2
我如何检查相同的属性是否具有相同的值,如果不是,则返回属性的值和键?
我认为我们可以通过在彼此内部使用带有 2 个 for 循环的 Mirror 来做到这一点,我在写吗?
【问题讨论】:
-
您需要为任何班级或仅针对特定班级这样做吗?
-
特定类
-
所以您可以简单地在函数中执行
if a.someString != b.someString { return ("someString", a.someString) }之类的操作? -
我使用了一些简单的类(只有 2 个属性),想象一个有 20 个属性的类。那我该怎么办?
-
是的,但是你需要为每个属性编写特定的代码,我觉得你不想这样做。
标签: swift