我有一个地图控制器,用户可以在其中选择地图标签以添加新的标记。然后的想法是将坐标存储在新的标记类中。我面临的问题是设置这些变量。

NewMarkerController.h

@interface NewMarkerController : UIViewController
{
    NSNumber *posLat;
    NSNumber *posLng;
}

@property (nonatomic, retain) NSNumber *posLat;
@property (nonatomic, retain) NSNumber *posLng;

@end


我还在.m文件中综合了这一点,这有什么不同。

MapController.m

NewMarkerController *vc = [[NewMarkerController alloc] init];
[vc posLat:coordinate.latitude];


最后一行显示一个错误,提示No visible @interface for 'NewMarkerController' declears the selector 'postLat',但是...有...吗?

有人可以发现我在这里遇到的问题吗?

最佳答案

这个语法:

[vc posLat:coordinate.latitude]


表示posLat是vc类的函数。当您想要设置一个变量时,如果您对其进行了合成,则可以执行以下操作:

[vc setPosLat:coordinate.latitude]


要么

vc.posLat = coordinate.latitude

10-08 12:11