Objective c 为BOOL实例var创建属性有意义吗?
为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
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
。。我现在改正了。