2017-10-05 3 views
0

J'essaie d'apprendre le modèle de domaine avec l'objectif C. Je veux savoir comment créer notre propre fichier .realm et voir le fichier de domaine dans le navigateur de domaine. Voici mon code.Comment créer mon propre modèle de domaine?

-En Specimen.h

#import <Foundation/Foundation.h> 
#import <Realm/Realm.h> 

@interface Specimen : RLMObject//: NSObject 
    @property NSString *name; 
    @property NSString *specDescription; 
    @property NSInteger latitude; 
    @property NSInteger longitude; 
    @property NSDate *date; 
@end 

-En UIViewController.m

#import "ViewController.h" 
#import "Specimen.h" 


@interface ViewController() 
{ 
    Specimen *first; 
} 
@end 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    first = [[Specimen alloc] init]; 

    first.name = @"first specimen"; 
    first.specDescription = @"some description"; 
    first.latitude = 12; 
    first.longitude = 15; 
    first.date = [NSDate date]; 

    RLMRealm *realm = [RLMRealm defaultRealm]; 
    [realm transactionWithBlock:^{ 
     [realm addObject:first]; 
    }]; 

    NSLog(@"Object added in realm"); 
} 

Construire se succède. Le dernier journal est également affiché sur la console. Mais je ne comprends pas où voir l'objet Spécimen comme domaine par défaut a toujours des objets de personne et de chien seulement. J'ai donc besoin de savoir comment créer mon propre domaine, puis ajouter l'objet et y accéder via le navigateur de domaine.

Répondre

0

De domaine official document.

Configuration des choses comme l'endroit où vos fichiers sont stockés Realm se fait par RLMRealmConfiguration.

Exemple:

RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration]; 

// Use the default directory, but replace the filename with the username 
config.fileURL = [[[config.fileURL URLByDeletingLastPathComponent] 
         URLByAppendingPathComponent:username] 
         URLByAppendingPathExtension:@"realm"]; 

// Set this as the configuration used for the default Realm 
[RLMRealmConfiguration setDefaultConfiguration:config]; 

Vous pouvez avoir des objets de configuration multiples, de sorte que vous pouvez contrôler la version schéma et l'emplacement de chaque royaume indépendamment:

RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration]; 

// Get the URL to the bundled file 
config.fileURL = [[NSBundle mainBundle] URLForResource:@"MyBundledData" withExtension:@"realm"]; 

// Open the file in read-only mode as application bundles are not writeable 
config.readOnly = YES; 

// Open the Realm with the configuration 
RLMRealm *realm = [RLMRealm realmWithConfiguration:config error:nil]; 

// Read some data from the bundled Realm 
RLMResults<Dog *> *dogs = [Dog objectsInRealm:realm where:@"age > 5"]; 
+0

Merci ! :) Je vais essayer ça. – pz26