【发布时间】:2013-04-06 02:44:00
【问题描述】:
是否可以为常量创建 getter 和 setter?我想直接引用一个常量,如果它的值为 nil,则让它实例化自己。像这样声明的常量:
// Prefs.h
extern MyClass * const kThing;
// Prefs.m
MyClass * const kThing = nil;
getter/setter 看起来像:
// getter
+ (MyClass *)kThing
{
_kThing = _kThing ? : [MyClass new];
return _kThing;
}
// setter
+ (void)setKThing:(MyClass *)myClass
{
_kThing = myClass
}
然后我可以像这样使用它:
[kThing doSomething];
这可能吗?
edit将方法编辑为类方法
【问题讨论】:
-
您是否将
kThing声明为全局变量?如果是,为什么是 getter 和 setter 实例方法? -
@drewmm 是的,我希望它是一个全局常量。我将其更改为类方法以使其更清晰。虽然我不确定它们应该是哪个类的成员......我只是用它作为一个例子。
-
是时候查找常量这个词了.. ??
标签: ios objective-c singleton constants getter