Почему ваше возвращение аннулируется из сообщения reverseGeocoder?Я написал бы это так:
- (NSString*)reverseGeocoder:(Placemark*)myPlacemark
{
// assuming myPlacemark is holding a reference to the dictionary (so no need to retain)
NSString *city = [myPlacemark.addressDictionary objectForKey:kABPersonAddressCityKey];
return city;
}
-(BOOL)fetchAndParseRss
{
// you need to get myPlacemark from somewhere, presumably from the geocode request?
Placemark * myPlacemark = [self getPlacemark];
NSString * CurrentLocation = [self reverseGeocoder:myPlacemark];
}
В этом коде я предполагаю, что Placemark - это класс с NSDictionary addressDictionary, определенный как свойство.
Если вам действительно нужно это сообщение для возвратаvoid *, тогда вы бросили бы из NSString * в void *, а затем снова вернулись.
- (void*)reverseGeocoder:(Placemark*)myPlacemark
{
// assuming myPlacemark is holding a reference to the dictionary (so no need to retain)
NSString *city = [myPlacemark.addressDictionary objectForKey:kABPersonAddressCityKey];
return (void*)city;
}
Затем бросили бы его обратно в NSString при назначении (не знаю, почему вы это сделали):
-(BOOL)fetchAndParseRss
{
// you need to get myPlacemark from somewhere, presumably from the geocode request?
Placemark * myPlacemark = [self getPlacemark];
NSString * CurrentLocation = (NSString*)[self reverseGeocoder:myPlacemark];
}