获取 UIManagedDocument 的 URL
Posted
技术标签:
【中文标题】获取 UIManagedDocument 的 URL【英文标题】:Getting the URL of a UIManagedDocument 【发布时间】:2012-06-15 13:43:55 【问题描述】:目前,我确定文档目录并检索其中的 URL,保存到数组属性:
// Returns an array of all the Vacations on file.
- (void)findVacationsOnFile
self.vacationURLs = [[NSArray alloc] init];
// Identify the documents folder URL.
NSFileManager *fileManager = [[NSFileManager alloc] init];
NSError *errorForURLs = nil;
NSURL *documentsURL = [fileManager URLForDirectory:NSDocumentDirectory
inDomain:NSUserDomainMask
appropriateForURL:nil
create:NO
error:&errorForURLs];
if (documentsURL == nil)
NSLog(@"Could not access documents directory\n%@", [errorForURLs localizedDescription]);
else
// Retrieve the vacation stores on file.
NSArray *keys = [NSArray arrayWithObjects:NSURLLocalizedNameKey, nil];
self.vacationURLs = [[NSFileManager defaultManager] contentsOfDirectoryAtURL:documentsURL
includingPropertiesForKeys:keys
options:NSDirectoryEnumerationSkipsHiddenFiles
error:nil];
当我随后想要 UIMangedDocument 的 URL 时,我引用了该数组。但我怀疑 UIManagedDocument 已经知道它的 URL。我发现与此最接近的是persistentStoreName,但这是一种用于设置持久存储名称的方法。任何指导表示赞赏。
【问题讨论】:
【参考方案1】:是的,UIManagedDocument
是UIDocument
的具体子类,必须使用 URL 进行初始化。 URL 存储到属性 fileURL(继承自 UIDocument)中,可以像这样访问:
NSURL* url = myUIManagedDocument.fileURL;
【讨论】:
以上是关于获取 UIManagedDocument 的 URL的主要内容,如果未能解决你的问题,请参考以下文章
UIManagedDocument 和 NSFetchedResultsController