iphone - 属性类型与访问器 mkmapview 的类型不匹配

标签 iphone objective-c properties mkmapview accessor

我更喜欢 Java,而且我刚刚开始接触 Objective C 和 iPhone 编程。

我一直在尝试这段代码(Xcode iPhone编程)以使iPhone在 map 类型(分段控制按钮)之间切换,但它不断抛出“属性'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;
    }
}
....

最佳答案

将 setMap: 方法重命名为 mapSelectorAction: 或类似的名称。 Cocoa 中任何以 set 开头,后跟属性名称并采用一个参数的方法,“需要”成为该属性的 setter 方法。

正确的名称在 Cocoa 中尤其重要,但在 Objective-C 中则更是如此。回顾苹果的style guide了解更多信息。

关于iphone - 属性类型与访问器 mkmapview 的类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15745130/

相关文章:

iphone - UIPageViewController 代码中的部分 curl

objective-c - 使用 Cocoa 和 Objective-C++ 添加事件到 NSWindow

java - Spring-如何使用PropertyPlaceholderConfigurer动态加载文件

iphone - App Store审核多种应用内购买方法

iphone - UISegmentedControl选中状态图标图片

php - 从 iPhone 发布图像时出现奇怪问题

objective-c - Objective C 代码是否有 github markdown 语言标识符?

ios - UIToolbar - 允许在工具栏下方进行交互

c# - 在 C# 中自动实例化 Automatic 属性的字段

java - 从 Properties 实例获取使用的文件名