Ios 每个ivar都必须在CoreData中吗?

Ios 每个ivar都必须在CoreData中吗?,ios,core-data,Ios,Core Data,这可能是一个完全愚蠢的问题,但我是一个CD迷 我有一个对象,通过定义左上角和右下角来跟踪地图上的矩形点,就像这样 @property (nonatomic) float latitudeNorth; // same as "northwest" @property (nonatomic) float latitudeSouth; // same as "southeast" @property (nonatomic) float longitudeEast;

这可能是一个完全愚蠢的问题,但我是一个CD迷

我有一个对象,通过定义左上角和右下角来跟踪地图上的矩形点,就像这样

@property (nonatomic) float latitudeNorth;          // same as "northwest"
@property (nonatomic) float latitudeSouth;          // same as "southeast"
@property (nonatomic) float longitudeEast;          // same as "southeast"
@property (nonatomic) float longitudeWest;          // same as "northwest"
现在我需要再加四个点,这样我们就可以用多边形代替纯矩形。所以我想加上这个

@property (nonatomic) float latitudeNorthEast;
@property (nonatomic) float latitudeSouthWest;
@property (nonatomic) float longitudeNorthEast;
@property (nonatomic) float longitudeSouthWest;

这些数据点是短暂的,只有在应用程序运行时才存在。然而,它们最初是在xcdatamodeld中构建的。这是个问题吗?或者我发现只是添加了额外的属性并按原样使用旧的xcdatamodeld?

我取决于您的完整结构

如果有更多的实体被多次提取并再次保存,并且每次提取临时属性时都需要保存它们,那么当然必须将它们保存在数据库中

但是,如果您只在获取和持有对象时需要它们,那么您可以在类中处理它们,而无需将它们放入数据库中

不是数据库中的每个项都必须在提取的类中;)


但most属性也将被保存,因为它们必须通过其他服务进行更新,即,或者必须在其他视图中显示这些更新。或者也可能是因为您不想一直保留属性,或者将再次获取属性(即在tableView.reloadData之后),并且不想丢失计算结果,所以可以在托管对象子类中声明其他属性。当你从一个持久性存储加载你的对象时,它们不会被初始化(当你关闭你的应用并再次打开它时,这些值会消失),但是你可以绕过它。然而,有更好的方法可以做到这一点。例如,可以编写当场计算值的方法:

-(float)latitudeNorthEast;
-(float)latitudeSouthWest;
-(float)longitudeNorthEast;
-(float)longitudeSouthWest;

在您的情况下,这些方法所做的只是返回一个其他属性值,因此这似乎是一种方法。

事实上,这些数据都不必保存在数据库中。恰恰相反,应用程序在启动时做的第一件事是调用JSON服务器并从真正的DB下载所有内容:-),然后我想我有了答案;我将简单地将它们声明为属性(?或者简单地称为浮动?)。在my.m中,我需要使用@dynamic吗?不,不要使用
@dynamic
,使用
@syntheticed