ios – Objective-C编写通用getter和setter方法

ios – Objective-C编写通用getter和setter方法,第1张

概述在我的项目中,我有一个设置类,其属性包含自定义setter,可访问NSUserDefaults以使一切更简单.想法是Settings类有 @property NSString *name 它具有从NSUserDefaults获取名称值的自定义getter以及在那里保存新值的setter.通过这种方式,在整个项目中,我只与Settings类进行交互,以管理用户定义的首选项.问题是,编写所有gette 在我的项目中,我有一个设置类,其属性包含自定义setter,可访问NSUserDefaults以使一切更简单.想法是Settings类有

@property Nsstring *name

它具有从NSUserDefaults获取名称值的自定义getter以及在那里保存新值的setter.通过这种方式,在整个项目中,我只与Settings类进行交互,以管理用户定义的首选项.问题是,编写所有getter和setter似乎过于重复(我有大约50个属性),并且想创建一个适用于所有变量的setter和一个getter.我唯一的问题是如何在setter中获取变量的名称.

最后一个问题是:是否有可能在getter或setter中查找被调用函数的属性?

如果你有其他的方法,我也会很感激,但考虑到我想把所有的NSUserDefaults东西保存在一个类中,我想不出一个不包括编写50个getter和setter的替代方法.

谢谢!

解决方法 我发现你的问题非常有趣,我对自己说“接受挑战!”.

我在Github上创建了this项目.

基本上,您所要做的就是将VBSettings类子类化,然后声明de属性,如下所示:

@interface MySettings : VBSettings@property (strong,nonatomic) Nsstring *hello;@end

“hello”的值将以“hello”键保存到NSUserDefaults.用法示例:

MySettings settings = [[MySettings alloc] init];settings.hello = "World!"; //The value is saved in NSUserDefaultsNSLog(@"%@",settings.hello); //The value is restored from NSUserDefaults.
总结

以上是内存溢出为你收集整理的ios – Objective-C编写通用getter和setter方法全部内容,希望文章能够帮你解决ios – Objective-C编写通用getter和setter方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1059466.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存