gpt4 book ai didi

ios - 检测对象的至少一个属性是否被修改

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:02:07 26 4
gpt4 key购买 nike

我的类(class)包含许多字符串和可变数组。所有这些对象都代表表单数据。因此,如果我修改文本字段或将新照片添加到数组,我会将这些数据保存在我的对象属性中。

我如何创建验证器来检查某些属性是否已更改。

例如,我向数组中添加了一些照片。然后我保存它。当我再次打开此屏幕时,我看到了已保存的照片,但现在我想添加新照片。

初始状态和我添加新照片到数组后的状态会不一样,我想跟踪它。

我在这里看到的最简单的方法是保存所有对象的当前状态,然后将其与新统计数据进行比较。

假设我有下一个变量:

NSString *name;
NSString *lastName;
NSMutableArray *photos;

我可以使用例如 KVC 来检测某个对象是否被修改,但它适用于例如数组。所以如果数组被修改,我们可以假设数据被改变了。但是例如,如果我的属性名称有字符串@"Alex",然后我再次从文本字段中将字符串@"Alex"放在这里,我可以将它与以前的状态和当前状态进行比较,并得出结论,如果字符串将被更改,则状态已更改不同的。这是正确的方法吗?

最佳答案

  1. 您可以尝试Method Swizzling,例如:http://nshipster.com/method-swizzling/ . Hook 你的set方法是否被调用。

  2. 您可以使用 KVC 或 Delegate 来通知更改。

  3. 您可以使用immutable object 来确保您的对象没有改变,然后在它创建时 Hook 。

关于ios - 检测对象的至少一个属性是否被修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28674308/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com