私は問題があります。ブロック内のローカル変数を変更したい。私はすべてを試しました。変数__blockの開始を設定しましたが、変更するものはありません。ブロック内のmyString値を変更できません。私たちを手伝ってくれますか ?これが私のコードです:
- (IBAction)setButtonPressed:(id)sender {
placeName = [[[NSMutableString alloc] init] retain];
__block NSMutableString *myString = [[NSMutableString alloc] init];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDate *today = [NSDate date];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd.MM.yyyy hh:mm:ss"];
NSString *dateString = [dateFormat stringFromDate:today];
[previousParkingLon addObject:[NSNumber numberWithFloat:self.longitude]];
[previousParkingLat addObject:[NSNumber numberWithFloat:self.latitude]];
[previousParkingsDate addObject:dateString];
if((self.latitude != 0) && (self.longitude != 0))
{
self.geocoder = [[CLGeocoder alloc] init ];
[self.geocoder reverseGeocodeLocation:locationManager.location completionHandler:^(NSArray *placemarks, NSError *error) {
CLPlacemark *myplacemark = [placemarks objectAtIndex:0];
NSString *locatedAt = [[[myplacemark addressDictionary] objectForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "];
[myString setString:locatedAt];
}];
}
[previousParkingsPlaceName addObject:placeName];
NSLog(@"Test %@",myString);
[defaults setObject:previousParkingLat forKey:@"historyLat"];
[defaults setObject:previousParkingLon forKey:@"historyLon"];
[defaults setObject:previousParkingsDate forKey:@"historyDate"];
[defaults setObject:previousParkingsPlaceName forKey:@"historyName"];
[defaults synchronize];
}