0

我试图了解瞬态属性。我有这个对象:

@interface AddressAnnotation : NSObject <MKAnnotation>

@property (nonatomic, copy) NSString *address;
@property (nonatomic, copy) NSString *city;
@property (nonatomic, strong) NSNumber *latitude;
@property (nonatomic, strong) NSNumber *longitude;
@property (nonatomic, assign) CLLocationCoordinate2D coordinate;
@property (nonatomic, strong) NSString *state;
@property (nonatomic, strong) NSString *street;
@property (nonatomic, strong) NSString *zip;
@property (nonatomic, strong) NSString *name;

我用它在 MKMapView 上显示我的注释。我想将这些引脚保存在某个 Route 实体中。路线只会让用户命名路线。对于我的应用程序,唯一真正重要的是纬度和经度。由于我有纬度/经度,我总是可以使用反向地理编码器重新计算其他属性。为了节省空间,我在想如果我想让这个对象成为 Core Data 实体,我可以把所有不是经纬度瞬态属性的属性都做成吗?我阅读了一些示例,其中瞬态用于基于其他非瞬态属性计算的属性。这是对瞬态的正确使用吗?谢谢。

4

1 回答 1

0

在这种情况下,您可以在示例中应用瞬态属性。从我的角度来看,您仍然可以在核心数据中保留一些属性,以避免冗余查询以备后用。例如,您可以使用反向地理编码的地址,通过经度和纬度获取真实地址。但是每次使用反向地理编码器时,您都会让用户等待查询地址。如果该属性需要一些计算或等待连接,我更愿意将这些属性保留在核心数据中。

于 2013-09-27T02:53:44.853 回答