我有许多字符串和可变数组的类。所有这些对象都代表表单数据。因此,如果我修改文本字段或将新照片添加到数组中,我会将此数据保存在对象的属性中。
如何创建验证器,以检查是否有某些属性已更改。
例如我向阵列添加了一些照片。然后我保存它。当我再次重新打开此屏幕时,我会看到已保存的照片,但现在我想添加新照片。
我向阵列添加新照片后的初始状态和状态将有所不同,我想跟踪它。
我在这里看到的最简单的方法是保存所有对象的当前状态,然后将其与新的统计数据进行比较。
假设我有下一个变量:
NSString *name;
NSString *lastName;
NSMutableArray *photos;
我可以使用例如KVC来检测某个对象是否被修改,但它适用于例如数组。因此,如果数组被修改,我们可以假设数据已被更改。但是,例如,如果我的属性名称有字符串@“Alex”然后我再次从文本字段放入字符串@“Alex”,我可以将它与之前的状态和当前状态进行比较,并得出结论,如果字符串将是状态被更改不同。这是对的吗?
答案 0 :(得分:3)
您可以尝试Method Swizzling
,例如:http://nshipster.com/method-swizzling/。挂钩是否调用set方法。
您可以使用KVC或代表通知更改。
您可以使用immutable object
确保您的对象不会被更改,然后在创建时挂钩。