【发布时间】:2013-05-03 22:04:40
【问题描述】:
我的班级有一个BOOL 属性,需要由另一个班级设置,所以我正在尝试使用指针。我正在为它声明一个属性,如下所示:
@interface SomeClass : SuperClass
{
BOOL *_shared;
}
@property(nonatomic) BOOL *shared;
这是正确的方法吗?然后我只需像这样设置和访问值:
*self.shared = YES;
或者将其设置为可保留属性的正确方法是什么?
【问题讨论】:
-
虽然使用起来很糟糕,但这是一个非常好的问题。这条评论是为了防止最近一连串有效的问题被否决,但这些问题是关于如何实施反模式的问题。
-
确实如此。请不要对这个问题投反对票。 OP 可能做错了事,但这与它是一个坏问题不同。
-
@alastair - 好吧,我有点想问什么是正确的做法。你在说我上面做的事情是错误的,还是在两个视图控制器之间传递一个 BOOL 指针是错误的?
-
@StackOverFlowRider 请参阅下面的 bbum 答案。传递
BOOL指针几乎肯定是错误的。 -
这是正确的,如果您在某处为
BOOL分配内存。
标签: objective-c encapsulation instance-variables declared-property