我想将MKCoordinateRegion
传递给一个函数,该函数又将其发送到服务器进行分析。
但由于语法错误Expected a type
,我无法将其传递给函数。
我猜是因为MKCoordinateRegion
是C
结构,而C
结构不能作为参数传递给Objective-C
中的方法。
将此信息作为单个变量传递给方法的正确方法是什么?
谢谢。
的更新:
我找到了解决方案。由于某种原因,xcode没有识别该特定.h文件的依赖项。我必须将#import <MapKit/MapKit.h>
放在.h文件中,即使它已在prefix.psh中指定并且已在其他文件中识别并使用...可能是xcode中的错误......
答案 0 :(得分:2)
也许你在输入MKCoordinateRegion后输了星号? 此代码有效:
- (void)setRegion
{
MKCoordinateRegion region;
region.center.latitude = self.latitudeFromServer;
region.center.longitude = self.longitudeFromServer;
region.span.latitudeDelta = 0.112872;
region.span.longitudeDelta = 0.112872;
[self sendRegion:region]; //sending to method!
}
- (void)sendRegion:(MKCoordinateRegion)region
{
NSLog(@"upload region to server");
}
答案 1 :(得分:0)
我使用NSData将MKCoordinateRegion传递给委托方法,一切正常(也类似于传递MKMapRect)
转换为NSData:
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(mapPointLoc, 2000, 2000);
NSData *data = [NSData dataWithBytes:®ion length:sizeof(MKCoordinateRegion)];
[self.delegate mapViewUpdateRegion:data];
并从NSData读取:
- (void)mapViewUpdateRegion:(NSData *)regionData{
MKCoordinateRegion region;
[regionData getBytes:®ion];
[self.mapView setRegion:region animated:YES];
}