0

我对自定义注释对象的持久存储感兴趣

CustomAnnotation : NSObject <MKAnnotation>

它具有以下属性

@property (nonatomic, assign) CGFloat val1;
@property (nonatomic, retain) NSString *val2;
@property (nonatomic, retain) NSDate *val3;
@property (nonatomic, retain) NSURL *val4;
@property (nonatomic, assign) double val5;
@property (nonatomic, assign) double val6;

存储数据的最佳方法是什么?我正在考虑使用 NSUserDefaults,但我需要将我的 CustomAnnotation 归档到 NSData 中吗?你是怎样做的?

谢谢!

4

1 回答 1

0

如果你想持久化一个自定义对象,NSUserDefaults你有两个选择。

  1. 使用 NSData 将对象编码为NSKeyedArchiver
  2. NSDictionary使用您要保留的所有值创建一个。

使用是否NSUserDefaults是正确的方法取决于几个因素。如果您只有一个或几个对象,那很好。如果你有很多,那么你可能想看看其他选择。也许是 plist 或其他文件。无论哪种方式,您都需要使用两种方法之一对对象进行编码。

于 2013-03-18T21:58:30.110 回答