【问题标题】:Restoring Annotations via Core-Data通过 Core-Data 恢复注解
【发布时间】:2011-06-21 22:11:19
【问题描述】:
【问题讨论】:
标签:
iphone
objective-c
core-data
mapkit
mkannotation
【解决方案1】:
如果您设置了核心数据应用程序,则只需在 xcdatamodel 文件中创建一个实体。为您可能想要存储的任何内容添加属性。
latitude - double
longitude - double
title - NSString
等等。直到你得到你想要的。
当您想要添加注释时,您应该为您的实体创建一个新的核心数据对象。它看起来像这样
Location *newLocation = (Location *)[NSEntityDescription insertNewObjectForEntityForName:@"Location" inManagedObjectContext:self.managedObjectContext];
Location.latitude = ....
// and so on to store the information you want in its attributes;
如果您稍后更改值,您可以在不同的时间设置属性。您只需要能够访问正确的对象即可使用注释。您应该能够通过在 managedObjectContext 中使用 NSFetchRequest 来做到这一点。您可以使用NSPredicate 将对象过滤为您想要的对象。然后,当您准备好退出应用程序时,使用
保存您的上下文
NSError *error = nil;
if ([managedObjectContext save:&error]) {
// handle the error;
}
它将存储您添加的所有对象,以便下次打开应用程序时使用。然后,您将能够根据 managedObjectContext 中的对象创建注释。我希望这是您正在寻找的,或者至少可以让您了解如何处理您想做的事情。