Hice una int para contar cuántos éxitos tiene uno de mis procesos. Fuera de mi código, declaro:Objective C read-only int? ¿Qué?
int successes = 0
.
Luego, en mi ciclo, tengo successes++;
, en cuyo punto XCode se queja de que "la variable no es asignable (falta el _pecificador de tipo de bloque)".
¿Qué está pasando? ¿Por qué no puedo incrementar mi int? Nunca lo dije como de solo lectura ...
Cualquier ayuda es muy apreciada.
El código que utiliza es:
_block int successes = 0;
for(CLLocation *location in locationOutputArray)
{
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error)
{
if(placemarks && placemarks.count > 0)
{
successes++;
CLPlacemark *topResult = [placemarks objectAtIndex:0];
NSString *address = [NSString stringWithFormat:@"%@ %@,%@ %@", [topResult subThoroughfare],[topResult thoroughfare],[topResult locality], [topResult administrativeArea]];
[addressOutputArray addObject:address];
NSLog(@"%@",address);
}
}];
[geocoder release];
}
¿Has probado '__block int successes = 0;'? Será mejor que muestres tu código, porque está claro que estás usando bloques u otra cosa que no nos has dicho. – jtbandes
solo para asegurarse, ¿esta es una aplicación multihilo? –