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;
ありがとうございます!
ありがとう! "CLLocationCoordinate2D"と " - (id)initWithCoord:(CLLocationCoordinate2D)coord 'の" Pervious宣言 "の前に"期待 ")を取得します。"なぜ私はそれを取得するのですか?それは別の同様の宣言を審理しているように感じます。 – Nicsoft
@Nicsoftでは、宣言(.h)ファイルと定義ファイル(.m)が署名と一致するように更新する必要があるようです。これは基本的にCのものです。 Cでの良い本のコピーを入手することは、おそらくこれをすべて長期的にもっと簡単にするでしょう。 –
私はそれをしました。 「 ' - (id)initWithCoord:(CLLocationCoordinate2D)coord'の前回の宣言は消えますが、 'CLLocationCoordinate2D'」の前にエラー "Expected")はありません。 – Nicsoft