Objective c 为BOOL实例var创建属性有意义吗?

Objective c 为BOOL实例var创建属性有意义吗?,objective-c,properties,boolean,Objective C,Properties,Boolean,为BOOl实例var创建属性有意义吗 它是否只与符号有关?BOOLs可以像任何其他变量一样是属性。但是,您应该将它们声明为assigned,因为retain/copy对于BOOL几乎没有意义 @interface MyObject : NSObject @property (nonatomic, assign) BOOL myState; @end @implementation MyObject @synthesize myState = _myState; - (id) init

为BOOl实例var创建属性有意义吗


它是否只与符号有关?

BOOL
s可以像任何其他变量一样是属性。但是,您应该将它们声明为
assign
ed,因为
retain/copy
对于
BOOL
几乎没有意义

@interface MyObject : NSObject

@property (nonatomic, assign) BOOL myState;

@end


@implementation MyObject

@synthesize myState = _myState;

- (id) init
{
  if (( self = [super init])) {
    self.myState = NO;
  }
  return self;
}

@end

@property
的一个用途是,我们可以从其他类访问该属性。例如,假设您正在声明BoL属性如下,

@property(非原子)BOOL myState


现在您可以从其他类访问
myState
属性。否则,无法从其他类访问BOOL变量。如果您不打算从其他类访问此BOOL变量,您可以省略
@property
声明。

有意义的问题您不知道。@ockulus,您是否已经决定使用go-want-to-look-like?我猜@Fran的英语不流利。不要期望每个人都说某种语言。如果他用母语提问,你能回答他吗?“我们应该感谢他用英语提问的努力。”西蒙,我试了一下。我更喜欢拿@occulus开玩笑,用的是一个相当有名的迷因。我不确定@Fran所说的“绑定到符号”是什么意思,但我试了一下。另外,我不是英语母语,有时我会使用翻译,但当我赶时间的时候我不会。我意识到我的问题不清楚,所以对此我很抱歉。也许我会删除它,但这是不可能的答案。我想知道一个基元类型的属性是否有意义,因为我不明白如何“保留”它。如果它是从另一个类访问的,则始终可以创建自己的getter/setter,而不会出现任何特殊问题。@property(nonatomic,assign)BOOL myState;相反,使用retain/copy会导致编译错误。@Fran:是的,对不起。。我错误地在那里添加了
retain
。。我现在改正了。