将自定义对象转换为 NSData 以与 NSFileManager 一起使用
Posted
技术标签:
【中文标题】将自定义对象转换为 NSData 以与 NSFileManager 一起使用【英文标题】:cast a custom object to NSData for use with NSFileManager 【发布时间】:2011-06-14 12:49:20 【问题描述】:我有一个用目标 c 编写的对象。它非常简单,只存储了一些值。
我的对象
@interface MyObject : NSObject
NSString *filename;
NSMutableData *somedata;
@property(nonatomic,copy)NSString *filename;
@property(nonatomic,retain)NSMutableData *somedata;
@end
我想使用 NSFileManager 将此对象存储到磁盘。我相信 NSFileManager 在使用 createFileAtPath 时将 NSData 的实例作为内容参数。如何将此对象转换为适当的类型以使用 createFileAtPath?
【问题讨论】:
【参考方案1】:所有对象都来自 NSObject。在这里我们可以将自定义对象从 NSObject 派生到 NSData
您需要在您的自定义类上实现 encodeWithCoder:,使用传递给它的 NSCoder 序列化其所有属性。如果其属性包含更多自定义类,则它们也需要 encodeWithCoder: 实现。
【讨论】:
以上是关于将自定义对象转换为 NSData 以与 NSFileManager 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
Typescript/Angular 12:将自定义对象转换为参数对象