NSLog不会将BOOL结果打印到控制台

时间:2013-12-23 16:20:12

标签: ios objective-c boolean xcode5 nslog

我有一个位置应用程序已经成功要求用户启用位置服务,然后也可以在按下按钮时显示他们的坐标。所以我决定使用xcode提供的CLLocationManager参考中提供的所有内容。

我决定设置一个名为“locationServicesEnabled”的bool方法。它返回值YES(1)或NO(0)。我声明了方法,然后去实现它。我试图让NSLog在打开应用程序时将bool结果打印到控制台。

以下是我在ViewController.m文件中声明BOOL方法的方法:

@interface ViewController () <CLLocationManagerDelegate>


-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations;
+ (BOOL)locationServicesEnabled;

@end

以下是我在ViewController.m中实现BOOL方法的方法:

+ (BOOL)locationServicesEnabled{

[self locationServicesEnabled];

NSLog(@"%hhd", self.locationServicesEnabled);

return 0;

}

2 个答案:

答案 0 :(得分:1)

为什么要创建额外的方法?您可以使用已有的错误来最小化错误风险:NSLog(@"Location services enabled: %d",[CLLocationManager locationServicesEnabled]);

答案 1 :(得分:0)

我认为你的问题可能是你在自己内部调用你的函数:

+ (BOOL)locationServicesEnabled
{

     [self locationServicesEnabled]; <- should this be here

     NSLog(@"%hhd", self.locationServicesEnabled);

     return 0;
}