2014-01-11 87 views
1

我設法用cocoapods安裝RestKit,但現在我對它包含的所有不同的類感到困惑。沒有核心數據示例的Restkit

比方說,我得到了類:

@interface Actor : NSObject 

@property (strong, nonatomic) NSString *firstName; 
@property (strong, nonatomic) NSString *lastName; 
@property (strong, nonatomic) NSNumber *age; 

@end 

和網址「http://SomeWebSite.com/actors」返回JSON:

{ 
    Actors: 
    [ 
     { 
     "firstName": "Will", 
     "lastName": "Ferrell", 
     "age": 25 
     }, 
     { 
     "firstName": "Jim", 
     "lastName": "carrey", 
     "age": 25 
     } 
    ] 
} 

是否有人可以提供如何得到一個數組一個完整的例子的人與網址的數據?

非常感謝!

回答

3

事情是這樣的:

RKObjectMapping* actorMapping = [RKObjectMapping mappingForClass:[Actor class]]; 
    [actorMapping addAttributeMappingsFromDictionary:@{ 
     @"firstName": @"firstName", 
     @"lastName": @"lastName", 
     @"age": @"age", 
     }]; 

    RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:actorMapping method:RKRequestMethodAny pathPattern:nil keyPath:@"Actors" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)]; 

    NSURL *URL = [NSURL URLWithString:@"http://SomeWebSite.com/actors"]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:URL]; 
    RKObjectRequestOperation *objectRequestOperation = [[RKObjectRequestOperation alloc] initWithRequest:request responseDescriptors:@[ responseDescriptor ]]; 
    [objectRequestOperation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { 
     RKLogInfo(@"Load collection of Actors: %@", mappingResult.array); 
    } failure:^(RKObjectRequestOperation *operation, NSError *error) { 
     RKLogError(@"Operation failed with error: %@", error); 
    }]; 

    [objectRequestOperation start]; 
}