2016-09-21 5 views
3

iOS用にRealm DBを使用しています。レルム構造だけでなくデータもビルドすることができますか?

私は現在、以下のツールを使用しています。私はそれから

  • Realm object editorレルムDB
  • 内のすべてのデータを編集することができますRealm.ioによって

    1. Realm Browserは私がレルム構造を編集することができます。

    これは、単一のレルムDBと関連オブジェクトをXcodeプロジェクトで使用するのに役立ちません。

    +5

    ツールまたはライブラリのリクエストには、スタックオーバーフローのトピックがありません。 – JAL

    答えて

    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]; 
    }]; 
    

    印刷このファイルのパスをどこでもMy Macで私の主なターゲット・バンドルにファイル

    NSLog(@"Documents Directory: %@", [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]); 
    

    コピーを。プライマリターゲットAppDelegateで、そのファイルをバンドルからアプリケーションフォルダにコピーします。

    NSString *preLoadRealmPath = [[NSBundle mainBundle] pathForResource:@"default" ofType:@"realm"]; 
    
    NSError *error; 
    NSURL *url = [RLMRealmConfiguration defaultConfiguration].fileURL; 
    [[NSFileManager defaultManager] copyItemAtPath:preLoadRealmPath toPath:url.path error:&error]; 
    
    関連する問題