在Objective-C中创建函数

在Objective-C中创建函数,objective-c,xcode4.2,Objective C,Xcode4.2,我是Objective-C的新手,我正在尝试在我的苹果应用程序中为地图视图添加标记 在我的类映射中,我试图添加一个添加标记的函数 在Map.h中,我添加: - (void)setMarkers:(MKMapView *)mv; 在Map.m中: - (void)setMarkers:(MKMapView *)mv { CLLocationCoordinate2D newCoord = { 38.989567, -1.856283}; MapPoint *mp = [[MapPoint all

我是Objective-C的新手,我正在尝试在我的苹果应用程序中为地图视图添加标记

在我的类映射中,我试图添加一个添加标记的函数

在Map.h中,我添加:

- (void)setMarkers:(MKMapView *)mv;
在Map.m中:

- (void)setMarkers:(MKMapView *)mv
{

CLLocationCoordinate2D newCoord = { 38.989567, -1.856283};
MapPoint *mp = [[MapPoint alloc] initWithCoordinate:newCoord title:[NSString stringWithFormat:@"Azam Home"] subTitle:@"Home Sweet Home"];
[mv addAnnotation:mp];

}
但当我尝试调用此函数时:

[setMarkers mv:map];
我有一个错误:

Map.m:278:6: Use of undeclared identifier 'setMarkers'
我错过了什么


提前谢谢。

您缺少了
self

[self setMarkers:mv];

您缺少了
self

[self setMarkers:mv];

它也适用于更改为+和[Map setMarkers:mv]谢谢!将-to+更改为+会使方法保持静态,但如果这样做有效,则可以。:)@SuneTrudslev Objective-C中没有静态方法。用
+
声明的方法是类方法,而不是静态方法。在您看来,静态方法和类方法之间有什么区别?挑剔者会反对Objective-C中类方法的术语“静态”,但是在10000英尺的高度(甚至10英尺的高度)他们是一样的。仔细检查后发现,类方法仍然是动态方法,只有一个“发送”到类对象而不是类实例。另一方面,“Static”基本上表示一个“硬编码”链接,其中方法的地址有效地存储在调用指令中。它还可以将-更改为+和[Map setMarkers:mv]谢谢!将-to+更改为+会使方法保持静态,但如果这样做有效,则可以。:)@SuneTrudslev Objective-C中没有静态方法。用
+
声明的方法是类方法,而不是静态方法。在您看来,静态方法和类方法之间有什么区别?挑剔者会反对Objective-C中类方法的术语“静态”,但是在10000英尺的高度(甚至10英尺的高度)他们是一样的。仔细检查后发现,类方法仍然是动态方法,只有一个“发送”到类对象而不是类实例。另一方面,“Static”基本上表示一个“硬编码”链接,其中方法的地址有效地存储在调用指令中。