为什么引用Bool会发出警告

时间:2013-01-01 16:40:20

标签: ios

学习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.
}

谢谢。

2 个答案:

答案 0 :(得分:3)

BOOL *是指向布尔值的指针。不要那样做。 BOOL不是对象。如果您想将其设置为self.userTyped = YES,则只需使用BOOL而不是BOOL *

答案 1 :(得分:0)

在这一行:

self.userType = YES;

您正尝试在第一个示例中设置指向BOOLBOOL值的指针。您需要将其设置为指向BOOL的指针,或将类型从BOOL*更改为BOOL