2013-04-01 63 views
2

我更喜歡java人,我剛開始使用Objective C和iPhone編程。我一直在嘗試這個代碼(Xcode iPhone編程),使iPhone在地圖類型(分段控制按鈕)之間切換,但它繼續拋出「類型的屬性'mymap'不匹配類型的訪問者'setMymap' 「:房地產類型與訪問者類型不匹配mkmapview

#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; 
    } 
} 
.... 

回答

3

重新命名的setMap:方法來mapSelectorAction:或類似的東西。 Cocoa中的任何方法都以set開頭,接着是一個屬性的名稱,並帶有一個參數,「needs」是該屬性的setter方法。

正確的名字在Cocoa中非常重要,特別是Objective-C。查看Apple的style guide瞭解更多信息。

+0

謝謝!它編譯得很好 –