2011-04-13 76 views
0
.h在我的 .h文件中我定义:

没有强制转换问题的整数指针

BOOL *internetActive; 
BOOL *hostActive; 

和:

@property(nonatomic) BOOL *internetActive; 
@property(nonatomic) BOOL *hostActive; 

在我的.m文件中我合成它们并设置值:

 switch (internetStatus) { 
     case NotReachable:{ 
      self.internetActive = NO; 
      break; 
     } 
     case ReachableViaWiFi:{ 
      self.internetActive = YES; 
      break; 
     } 
     case ReachableViaWWAN:{ 
      self.internetActive = YES; 
      break; 
     } 
    } 

但我得到了几个警告。首先在每个= YES上我得到

不兼容的整数到指针 转换为BOOL(又名有符号字符) 来自BOOL(又名有符号字符)

在break语句之后我得到一个:

传递 的参数1 setInternetActive使得指针来自 整数,而不需要投射

这是什么意思,我该如何解决?

+1

这意味着你已经声明了实例变量/声明的属性为指针,以'BOOL'和你使用他们作为普通'BOOL'。正如已经回答的那样,你不需要指向'BOOL'的指针。 – 2011-04-13 08:31:32

回答

3

BOOL internetActiveBOOL *internetActive;

好运

0

如果你真的想有一个指向对象的指针,这样你就可以将它们存储在NSArray/NSDictionary然后使用NSNumber

@property(nonatomic, retain) NSNumber *internetActive; 
@property(nonatomic, retain) NSNumber *hostActive; 

在你的* .M

switch (internetStatus) { 
     case NotReachable:{ 
      self.internetActive = [NSNumber numberWithBool:NO]; 
      break; 
     } 
     case ReachableViaWiFi:{ 
      self.internetActive = [NSNumber numberWithBool:YES];; 
      break; 
     } 
     case ReachableViaWWAN:{ 
      self.internetActive = [NSNumber numberWithBool:YES];; 
      break; 
     } 
    } 
相关问题