我更像是一个java人,我刚刚开始使用Objective C和iPhone编程。
我一直在尝试使用此代码(Xcode iPhone编程)让iPhone在地图类型(分段控制按钮)之间切换,但它继续投掷“类型属性'mymap'与访问者类型'setMymap'不匹配” :
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
@interface ViewController : UIViewController {
MKMapView * mymap;
}
@property (nonatomic, readonly) MKMapView * mymap;
-(IBAction)setMymap:(id)sender;
-(IBAction)getLocation;
@end
@implementation ViewController
@synthesize mymap;
-(IBAction)getLocation {
mymap.showsUserLocation = YES;
}
-(IBAction)setMymap:(id)sender {
switch (((UISegmentedControl*)sender).selectedSegmentIndex) {
case 0:
mymap.mapType = MKMapTypeStandard;
break;
case 1:
mymap.mapType = MKMapTypeSatellite;
break;
case 2:
mymap.mapType = MKMapTypeHybrid;
break;
}
}
....
答案 0 :(得分:3)
将setMap:方法重命名为mapSelectorAction:或者类似的东西。 Cocoa中的任何方法都以set开头,后跟属性的名称,并且接受一个参数,“needs”是该属性的setter方法。
正确的名字在Cocoa中非常重要,但一般来说是Objective-C。查看Apple的style guide了解更多信息。