0

我想将其传递MKCoordinateRegion给一个函数,该函数又将其发送到服务器进行分析。

但是,由于语法错误,我无法将其传递给函数Expected a type

我猜这是因为它MKCoordinateRegion是一个C结构,并且C结构不能作为参数传递给Objective-C.

将此信息作为单个变量传递给方法的正确方法是什么?

谢谢你。


更新:
我找到了解决方案。由于某种原因,xcode 无法识别该特定 .h 文件的依赖项。我必须放在#import <MapKit/MapKit.h>.h 文件中,即使它已经在 prefix.psh 中指定并且它在其他文件中被识别和使用......也许是 xcode 中的一个错误......

4

2 回答 2

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");
}
于 2013-05-09T07:50:43.567 回答
0

我使用 NSData 将 MKCoordinateRegion 传递给委托方法并且一切正常(也类似于传递 MKMapRect)

转换为 NSData:

MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(mapPointLoc, 2000, 2000);
NSData *data = [NSData dataWithBytes:&region length:sizeof(MKCoordinateRegion)];
[self.delegate mapViewUpdateRegion:data];

并从 NSData 中读取:

- (void)mapViewUpdateRegion:(NSData *)regionData{
    MKCoordinateRegion region;
    [regionData getBytes:&region];
    [self.mapView setRegion:region animated:YES];

}
于 2014-01-25T11:38:23.067 回答