将自定义对象强制转换为NSData以与NSFileManager一起使用

时间:2011-06-14 12:49:21

标签: objective-c casting nsfilemanager

我有一个我用目标c写的对象。它非常简单,只是存储了一些值。

我的对象

@interface MyObject : NSObject {

    NSString *filename;
    NSMutableData *somedata;

}

@property(nonatomic,copy)NSString *filename;
@property(nonatomic,retain)NSMutableData *somedata;


@end

我想使用NSFileManager将此对象存储到磁盘。我相信NSFileManager在使用createFileAtPath时会将NSData的实例作为内容参数。如何将此Object转换为适当的类型以使用createFileAtPath?

1 个答案:

答案 0 :(得分:1)

所有对象都来自NSObject.here我们可以将从NSObject派生的自定义对象转换为NSData

您需要在自定义类上实现encodeWithCoder:使用传入其中的NSCoder序列化其所有属性。如果它的属性包含更多自定义类,则它们还需要encodeWithCoder:也可以实现。