0

私は自分のクラスをカスタムinitWithCoord(パラメータCLLocationCoordinate2D *を使用)で作成します。カスタムinitを初期化すると、 'initWithCoord:'の引数1に互換性のない型が返されます。

私は正しいパラメータの型を持っていると思うにもかかわらず、私はまだ取得「initWithCoord」の引数1のための互換性のない型を:」私は間違って何をやっている:

PeopleStub.m:

#import "PeopleStub.h" 


@implementation PeopleStub 


-(id)initWithCoord:(struct CLLocationCoordinate2D*)coord{ 
    if(self = [super init]){ 
      people = [[NSMutableDictionary alloc] init]; 

    } 

    return self; 

} 

@end 

PeopleStub.h

#import <Foundation/Foundation.h> 


@interface PeopleStub : NSObject { 

    NSMutableDictionary *people; 

} 

-(id)initWithCoord:(struct CLLocationCoordinate2D*)coord; 

@end 

PeopleStubのインスタンスを作成するための私の方法:

PeopleStub *peopleStub = [[PeopleStub alloc] initWithCoord:locationManager.location.coordinate; 

ありがとうございます!

答えて

6

パラメータと同じものへのポインタではなく、CLLocationCooridnate2Dだけを渡したいと思うかもしれません。だから:

-(id)initWithCoord:(CLLocationCoordinate2D)coord; 
+0

ありがとう! "CLLocationCoordinate2D"と " - (id)initWithCoord:(CLLocationCoordinate2D)coord 'の" Pervious宣言 "の前に"期待 ")を取得します。"なぜ私はそれを取得するのですか?それは別の同様の宣言を審理しているように感じます。 – Nicsoft

+0

@Nicsoftでは、宣言(.h)ファイルと定義ファイル(.m)が署名と一致するように更新する必要があるようです。これは基本的にCのものです。 Cでの良い本のコピーを入手することは、おそらくこれをすべて長期的にもっと簡単にするでしょう。 –

+0

私はそれをしました。 「 ' - (id)initWithCoord:(CLLocationCoordinate2D)coord'の前回の宣言は消えますが、 'CLLocationCoordinate2D'」の前にエラー "Expected")はありません。 – Nicsoft

関連する問題