相关疑难解决方法(0)

如何使用NSCoding序列化C数组?


我有Objective-C类有C数组属性.
我想用NSCoding序列化该属性.

@interface TestClass : NSObject <NSCoding>
@property (nonatomic) int* intArray;
@end

@implementation TestClass
-(instancetype)init
{
    self = [super init];
    if (self) {
        _intArray = (int *)malloc(sizeof(int) * 5);
        for (int i = 0; i < 5; i++) {
            _intArray[i] = 0;
        }
    }
    return self;
}
-(void)dealloc
{
    free(_intArray);
}
-(instancetype)initWithCoder:(NSCoder *)coder
{
    self = [super init];
    if (self) {
        //???
    }
    return self;
}
-(void)encodeWithCoder:(NSCoder *)coder
{
    //???
}
@end
Run Code Online (Sandbox Code Playgroud)

我应该写什么?
谢谢.

编辑:
谢谢你的回答.
但是我应该使用decodeArrayOfObjCType:count:at:还是NSData?
如果我不知道数组的数量,我不能使用decodeArrayOfObjCType:count:at:method?

-(instancetype)initWithCoder:(NSCoder *)coder …
Run Code Online (Sandbox Code Playgroud)

objective-c nscoding

2
推荐指数
1
解决办法
819
查看次数

标签 统计

nscoding ×1

objective-c ×1