0

AMはCLLocationCoordinate2D[]をNSMutableArrayに追加し、それをパラメーターとして送信しようとしています。しかし、(__ bridge id)はアプリをクラッシュさせています。構造体からIDへの変換が問題です。使用方法を教えてください。

CLLocationCoordinate2D座標[1000];

座標[インデックス]---ループで追加されたすべての座標。

NSMutableArray *coorArray = [NSMutableArray array];
[coorArray addObject:(__bridge id)(coordinates)]; crashes here
4

2 に答える 2

1

+[NSValue valueWithBytes:objCType:](__bridge)キャストではないことを確認する必要があります。ブリッジは他のもののためのものです。

例えば: [NSValue value:&coordinate withObjCType:@encode(CLLocationCoordinate2D)];

配列全体をエンコードすることも可能だと思います

于 2013-03-01T10:53:18.937 に答える
1

使用する:

NSMutableArray *coorArray = [NSMutableArray array];
[coorArray addObject:[NSValue valueWithPointer:coordinates]];

次に、構造体の配列を取得する場合:

CLLocationCoordinate2D coordinates[] = [coorArray objectAtIndex:0].pointerValue;

ACアレイはオブジェクトではないため、ブリッジすることはできません。

于 2013-03-01T10:53:59.740 に答える