我正在尝试找到一种将CGPoint存储在Core Data数据库中的方法。
在谷歌搜索后,我发现某处可以通过x和y属性获得实体(在我的情况下为Point2D)。两个浮点数都映射到NSNumber。
问题是,为了得到回报,我有以下Point2D NSManagedObject子类的方法:
- (CGPoint) cgPointValue {
return CGPointMake([self.x floatValue], [self.y floatValue]);
}
它有效,但由于我有很多观点,它似乎在占用CPU。
我想知道是否有更有效的方法来做到这一点。
答案 0 :(得分:8)
我认为在这种情况下无法节省一些CPU时间,代码如下的事件,它会做同样的事情,也许更少或许更多:
// >>> Saving result string int CoreData
CGPoint point = CGPointMake(20.0f, 20.f);
NSString *pointToSavae = NSStringFromCGPoint(point); // Will store string {20,20}
// >> Restoring point from string, retrieved from CoreData
CGPoint pointFromString = CGPointFromString(pointToSavae);