我已经看过如何使用块在我的整个应用程序共享的每个磁盘上创建一个全局UIManagedDocument实例?但我真的不明白.
我想要实现的是,整个应用程序应该只有一个UIManagedDocument - 一个核心数据库.不同的对象应该调用一个方法并获得唯一的UIManagedDocument.
我使用一个带有类方法的辅助类:
+ (UIManagedDocument *)getsharedDatabase:(NSString *)databaseName
{
NSURL *url = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
url = [url URLByAppendingPathComponent:databaseName];
// url is now "<Documents Directory>/<databaseName>"
if (![[NSFileManager defaultManager] fileExistsAtPath:[url absoluteString]])
{
// does not exist on disk, so create one
UIManagedDocument *managedDocument = [[UIManagedDocument alloc] initWithFileURL:url];
return managedDocument;
}
else
{
UIManagedDocument *managedDocument = **?????**
return managedDocument;
}
}
Run Code Online (Sandbox Code Playgroud)
正如您在问号中看到的那样,我不知道如何获取现有文件.我检查了UIManagedDocument类引用但找不到它.
你能帮我吗?提前谢谢了.
编辑 我想知道...单身方法怎么样,如:
+ (UIManagedDocument *) sharedDatabase
{
NSURL *url = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] …
Run Code Online (Sandbox Code Playgroud)