我正在尝试使用Realm DB for iOS。
我目前正在使用以下工具。
这并不能帮助我在Xcode项目中使用单个领域数据库和相关对象。
答案 0 :(得分:0)
有时我需要为应用准备数据。我创建另一个目标DataGenerator并在AppDelegate didFinishLaunch中形成填充的defaul域对象:
NSString *fileName = @"Activities";
NSString *filePath = [[NSBundle mainBundle] pathForResource:fileName ofType:@"json"];
NSString *myJSON = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:NULL];
NSError *error = nil;
NSArray *jsonDataArray = [NSJSONSerialization JSONObjectWithData:[myJSON dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingOptions.MutableContainers error:&error];
NSMutableArray *sessionDays = [NSMutableArray array];
for (NSDictionary *dictionary in jsonDataArray) {
SessionDay *sessionDay = [[SessionDay alloc] initWithDictionary:dictionary];
[sessionDays addObject:sessionDay];
}
RLMRealm *realm = [RLMRealm defaultRealm];
[realm transactionWithBlock:^{
[realm addObjects:sessionDays];
}];
在我的Mac上打印此文件路径
NSLog(@"Documents Directory: %@", [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]);
将该文件复制到我的主目标包中。在主目标AppDelegate中将该文件从bundle复制到应用程序文件夹:
NSString *preLoadRealmPath = [[NSBundle mainBundle] pathForResource:@"default" ofType:@"realm"];
NSError *error;
NSURL *url = [RLMRealmConfiguration defaultConfiguration].fileURL;
[[NSFileManager defaultManager] copyItemAtPath:preLoadRealmPath toPath:url.path error:&error];