NSValue は を使用して使用できると思いましたvalue:withObjCType:
。しかし、ドキュメントによると、可変長型は使用できません。
指定するタイプは、一定の長さでなければなりません。C 文字列、可変長の配列と構造体、その他の長さが不確定なデータ型を NSValue に格納することはできません。これらの型には NSString または NSData オブジェクトを使用する必要があります。
これを仮定すると:
//Sample data
typedef struct {
CGFloat lat;
CGFloat longi;
}Location;
Location list[2];
Location get[2];
Location l1;
l1.lat = 10.0;
l1.longi = 4.0;
Location l2;
l2.lat = 3.0;
l2.longi = 4.0f;
list[0] = l1;
list[1] = l2;
NSData
要件に対して次の方法を使用できます。
//This is the part you want
//create NSData
NSData *data = [NSData dataWithBytes:list length:sizeof(list)];
//get c array from NSData
[data getBytes:&get length:sizeof(list)];
//accessing
methodUsingCarray(getList);
NSLog(@"%f",get[0].lat); // only if you need to access individual points
それが役に立てば幸い。