2012-07-31 1 views
2

J'ai besoin de POSTER une vidéo sur un serveur en arrière-plan. Jusqu'à présent, je me sers de ce genre de modèle lors de la publication:RestKit: mappage d'objet par requête lors de l'utilisation de [[RKClient sharedClient] post: usingBlock:]

- (BOOL)loginUser:(user *)user 
{ 
    BOOL ret = NO; 

    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
    [appDelegate.waitView startWithMessage:@"Signing in ..."]; 

    [self.objectManager postObject:user usingBlock:^(RKObjectLoader *loader) 
    { 
     loader.delegate = self; 
     loader.targetObject = nil; 

     loader.objectMapping = [RKObjectMapping mappingForClass:[user class] usingBlock:^(RKObjectMapping *mapping) 
          { 
           [mapping mapKeyPath:@"id" toAttribute:@"ID"]; 
           [mapping mapKeyPath:@"last_name" toAttribute:@"last_name"]; 
           [mapping mapKeyPath:@"first_name" toAttribute:@"first_name"]; 
           [mapping mapKeyPath:@"middle_name" toAttribute:@"middle_name"]; 
           [mapping mapKeyPath:@"email" toAttribute:@"email"]; 
           [mapping mapKeyPath:@"password" toAttribute:@"password"]; 
           [mapping mapKeyPath:@"authentication_token" toAttribute:@"authentication_token"]; 
          }]; 

     loader.serializationMapping = [loader.objectMapping inverseMapping]; 
     loader.serializationMapping.rootKeyPath = NSStringFromClass([user class]); 
    }]; 

    return ret; 
} 

... mais cette tendance ne semble pas me laisser accéder à un objet sur lequel RKRequest pour régler la backgroundPolicy. Alors, je l'ai regardé en utilisant RKClient comme ceci:

- (BOOL)postBigMediaFile:(NSString *)pathToBigFile 
{ 
    BOOL ret = NO; 

    NSString *resourcePath = @"/bigFile"; 

    [[RKClient sharedClient] post:resourcePath usingBlock:^(RKRequest *request) 
    { 
     request.backgroundPolicy = RKRequestBackgroundPolicyContinue; 

     // how do I set up the object mapping? 


    }]; 

    return ret; 
} 

... mais l'objet RKRequest ne semble pas avoir un moyen d'accéder à un RKObjectLoader pour lequel configurer la mise en correspondance sur. Comment puis-je publier des données en arrière-plan en utilisant le mappage d'objet?

Répondre

2

idiot moi ... RKObjectLoader est une sous-classe de RKRequest, donc je peux faire loader.backgroundPolicy = ... :-)

+0

Vous devez accepter votre réponse car il est très correct. – drewish