iOS坚持自定义NSObject <mkannotation> </mkannotation>

时间:2013-03-18 21:53:57

标签: iphone ios nsuserdefaults nsdata persistent-storage

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

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中吗?你是怎么做到的?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果要将自定义对象保留到NSUserDefaults,则有两种选择。

  1. 使用NSKeyedArchiver
  2. 将对象编码为NSData
  3. 创建一个包含您要保留的所有值的NSDictionary
  4. 是否使用NSUserDefaults是正确的方法取决于几个因素。如果您只有一个或几个对象,那就没问题了。如果你有很多,那么你可能想看看其他选项。也许是plist或其他文件。无论哪种方式,您都有使用两种方法之一编码对象所需的相同问题。