学习ios编程,请说明为什么对布尔类型的引用会给我一个警告,但是用布尔类型的属性创建的变量不会有任何警告?
@property (nonatomic) BOOL *userTyped; //-> userTyped is pointer to BOOL type
-(IBAction) button:(UIButton *)sender {
self.userTyped = YES; //-> will give a warning saying assigning char to BOOL
}
@property (nonatomic) BOOL userTyped; //-> userTyped acts as variable of BOOl type
-(IBAction) button:(UIButton *)sender {
self.userTyped = YES; //-> this will not give warning.
}
谢谢。
答案 0 :(得分:3)
BOOL *
是指向布尔值的指针。不要那样做。 BOOL
不是对象。如果您想将其设置为self.userTyped = YES
,则只需使用BOOL
而不是BOOL *
。
答案 1 :(得分:0)
在这一行:
self.userType = YES;
您正尝试在第一个示例中设置指向BOOL
到BOOL
值的指针。您需要将其设置为指向BOOL
的指针,或将类型从BOOL*
更改为BOOL
。