我发现自己声明了一堆类变量,为每个变量编写简单的get / set方法真的很累。那么,问题是如何在objective-c中合成类变量的setter / getter?
答案 0 :(得分:4)
通常,当您对一组要全局访问的相关变量进行分组时,您可以创建所谓的Singleton:
What should my Objective-C singleton look like?
这意味着您有一个类级别方法可以返回一个共享实例 - 因此您可以进行如下调用:
[MyClass sharedInstance].myProperty
由于您存储的值是真正的类实例变量,因此您可以使用普通属性,但所有类都将使用相同的共享数据。
请注意,有些人不喜欢单身人士的使用,你可能想读一些关于这种做法的警告:
Singleton: How should it be used
但是,既然你已经开始使用iPhone开发中的一个固有单例(应用程序委托,任何人都可以随时访问),那么轻松使用该技术就不会受到伤害。请注意,不是创建Singleton类,而是让应用程序委托创建变量存储类的单个实例,并让每个人通过委托访问它...
答案 1 :(得分:1)
这样的内容在你的标题中,在界面之后:
@property (retain) NSString* caption;
然后在实现中进行了immediatley:
@synthesize caption;
查看本教程以获取更多详细信息:http://www.cocoadevcentral.com/d/learn_objectivec/
答案 2 :(得分:0)
你能不只是编辑宏或什么?
答案 3 :(得分:0)
属性不需要引用ivar。如果你真的想要,你可以让一个动态属性返回一个静态变量。
只需使用@dynamic并实现getter和setter来引用实现文件中的静态变量。