Я хочу добавить поддержку NSCoding в массив c структур. В частности, это для подкласса MKPolyline
, то есть это то, что я должен работать с:Как использовать NSCoding для c-массива структур? (MKPolyline)
@property (nonatomic, readonly) MKMapPoint *points;
@property (nonatomic, readonly) NSUInteger pointCount;
+ (MKPolyline *)polylineWithPoints:(MKMapPoint *)points count:(NSUInteger)count;
I found a good answer on how to encode a individual struct. Например.
NSValue* point = [NSValue value:&aPoint withObjCType:@encode(MKMapPoint)];
[aCoder encodeObject:point forKey:@"point"];
....
NSValue* point = [aDecoder decodeObjectForKey:@"point"];
[endCoordinateValue getValue:&aPoint];
Есть хороший способ применить это к гр массива - или я просто перебрать с-массив?
Как насчет '[значение NSValue: aPointArray withObjCType: @encode (MKMapPoint [12])]' или подобное? – 2013-02-16 18:49:03
@ H2CO3 Этот метод может быть устаревшим в будущей версии. Вместо этого вы должны использовать 'valueWithBytes: objCType:'. – voromax
@voromax Не проверял документы, просто повторил то, что имел OP, но это правда. – 2013-02-16 18:56:06