Süreçlerimden birinin ne kadar başarı kaydettiğini saymak için bir girişimde bulundum. Kodumun dışında, şu bildirimde bulunurum:Amaç C salt okunur int? Ne?
int successes = 0
.
Sonra benim döngüsünde, successes++;
var, bu noktada XCode "değişkeni atanabilir değil (eksik _block türü belirteci)" şikayet ediyor.
Neler oluyor? Neden int'mı arttıramıyorum? Bunu asla okumamıştım ...
Herhangi bir yardım çok takdir edilmektedir.
Ben kullanılan kod:
_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];
}
__block int successes = 0; '? Kodunuzu daha iyi gösterirsiniz, çünkü bize söylemediğiniz blokları veya başka bir şey kullandığınız açıktır. – jtbandes
Sadece emin olmak için, bu çok iş parçacıklı bir uygulama mı? –