相关疑难解决方法(0)

将c-struct放入NSArray的最佳方法是什么?

存储c结构的常用方法是NSArray什么?优点,缺点,内存处理?

值得注意的是,有什么之间的区别valueWithBytesvalueWithPointer -由Justin和鲶鱼下面提出.

这是 Apple valueWithBytes:objCType:对未来读者讨论的链接 ......

对于一些横向思考和更多关注性能,Evgen提出了STL::vectorC++中使用的问题.

(这引发了一个有趣的问题:是否有一个快速的c库,不是STL::vector很轻,但更轻,允许最小的"整理数组处理"......?)

那么原来的问题......

例如:

typedef struct _Megapoint {
    float   w,x,y,z;
} Megapoint;
Run Code Online (Sandbox Code Playgroud)

那么:在一个NSArray成语中存储一个人自己的结构的正常,最好,惯用的方式是什么?你如何处理那个成语中的记忆?

请注意,我特意寻找存储结构的通常习惯用法.当然,人们可以通过创建一个新的小班来避免这个问题.但是,我想知道实际将结构放入数组的常用习惯,谢谢.

顺便说一句,这可能是NSData的方法吗?不是最好的......

Megapoint p;
NSArray *a = [NSArray arrayWithObjects:
    [NSData dataWithBytes:&p length:sizeof(Megapoint)],
    [NSData dataWithBytes:&p length:sizeof(Megapoint)],
    [NSData dataWithBytes:&p length:sizeof(Megapoint)],
        nil];
Run Code Online (Sandbox Code Playgroud)

BTW作为参考点,感谢Jarret Hardie,以下是如何存储CGPoints和类似的NSArray:

NSArray *points = [NSArray arrayWithObjects:
        [NSValue valueWithCGPoint:CGPointMake(6.9, 6.9)],
        [NSValue valueWithCGPoint:CGPointMake(6.9, 6.9)],
        nil];
Run Code Online (Sandbox Code Playgroud)

(请参阅如何以简单的方式将CGPoint对象添加到NSArray?)

iphone cocoa struct objective-c nsarray

84
推荐指数
2
解决办法
3万
查看次数

标签 统计

cocoa ×1

iphone ×1

nsarray ×1

objective-c ×1

struct ×1