У меня есть путаница в том, как назначить значение указателю BOOL? Здесь мой код:
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
self.latitude.text = [NSString stringWithFormat:@"%f", newLocation.coordinate.latitude];
self.longitude.text = [NSString stringWithFormat:@"%f", newLocation.coordinate.longitude];
if (!initialBroadcast) {
initialBroadcast = YES; // Where I'm having troubles
[broadcastTimer fire];
};
}
Компилятор продолжает говорить мне следующее: Incompatible integer to pointer conversion assigning to 'BOOL *' (aka 'signed char *') from 'BOOL' (aka 'signed char')
.
Буду признателен за это, так как я nubski.
UPDATE
Как многие из вас указали, я, по-видимому, злоупотребляю объявлением BOOL
, используя указатель для него. Честно говоря, я не знаю, почему я использовал его, но так как я новичок в Objective-C, он, должно быть, работал на то, что я делал, чтобы оно застряло.
В любом случае, с тех пор я сменил объявление на:
// In .h
@interface ... {
BOOL initialBroadcast;
}
@property BOOL initialBroadcast;
// In .m
@synthesize initialBroadcast;
Итак, теперь я на правильном пути?