gpt4 book ai didi

objective-c - 如何正确初始化 RestKit 的 objectStore 以使用文档以外的目录

转载 作者:行者123 更新时间:2023-11-29 04:34:43 25 4
gpt4 key购买 nike

所以我看到RestKit的引用中有一个init方法:objectStoreWithStoreFilename:inDirectory:usingSeedDatabaseName:managedObjectModel:delegate它假设初始化指定目录中的objectStore。 “inDirectory”参数接受 NSString。我尝试过@“Library/Caches”和[self.applicationCachesDirectory AbsoluteURL],其中self.applicationCachesDirectory返回Caches目录的URL,但我遇到了异常。

请告诉我如何在此方法中指定“Library/Caches”,以便将 sqlite DB 保存在 Caches 目录而不是文档中?

最佳答案

成功了。我创建了辅助方法来获取 NSString 形式的缓存文件夹路径

    - (NSString *)applicationCachesDirectoryString
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachePath = [paths objectAtIndex:0];
BOOL isDir = NO;
NSError *error;
if (! [[NSFileManager defaultManager] fileExistsAtPath:cachePath isDirectory:&isDir] && isDir == NO) {
[[NSFileManager defaultManager] createDirectoryAtPath:cachePath withIntermediateDirectories:NO attributes:nil error:&error];
}
return cachePath;
}

然后将其传递给objectStore init方法:

self.objectManager.objectStore = [RKManagedObjectStore objectStoreWithStoreFilename:databaseName inDirectory:[self applicationCachesDirectoryString] usingSeedDatabaseName:seedDatabaseName managedObjectModel:managedObjectModel delegate:self];

关于objective-c - 如何正确初始化 RestKit 的 objectStore 以使用文档以外的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11218334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com