【问题标题】:Can I use RestKit and Realm.io?我可以使用 RestKit 和 Realm.io 吗?
【发布时间】:2014-10-08 08:50:11
【问题描述】:

我想使用RestKit,但我已经使用Realm.io 而不是CoreData。

是否可以在 Realm.io 之上使用 RestKit?

【问题讨论】:

    标签: restkit realm


    【解决方案1】:

    当然可以。从 RestKit 取回对象后:

    // GET a single Article from /articles/1234.json and map it into an object
    // JSON looks like {"article": {"title": "My Article", "author": "Blake", "body": "Very cool!!"}}
    RKObjectMapping *mapping = [RKObjectMapping mappingForClass:[Article class]];
    [mapping addAttributeMappingsFromArray:@[@"title", @"author", @"body"]];
    NSIndexSet *statusCodes = RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful); // Anything in 2xx
    RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:mapping method:RKRequestMethodAny pathPattern:@"/articles/:articleID" keyPath:@"article" statusCodes:statusCodes];
    
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://restkit.org/articles/1234.json"]];
    RKObjectRequestOperation *operation = [[RKObjectRequestOperation alloc] initWithRequest:request responseDescriptors:@[responseDescriptor]];
    [operation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *result) {
        Article *article = [result firstObject];
    
    
        // I would put the Realm write here
    
    
        NSLog(@"Mapped the article: %@", article);
    } failure:^(RKObjectRequestOperation *operation, NSError *error) {
        NSLog(@"Failed with error: %@", [error localizedDescription]);
    }];
    [operation start];
    

    你需要做两件事:

    1. 创建继承自 RLMObject 的 RealmArticle 模型(在本例中)
    2. 那么你只需要写信到你的领域

      RLMRealm *realm = [RLMRealm defaultRealm];
      
      [realm beginWriteTransaction];
      
      [RealmArticle createInDefaultRealmWithObject:article];
      
      [realm commitWriteTransaction];
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-01
      • 2018-09-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多