appena trascorso un po 'per capire come questo può essere fatto in v0.20. Da quello che posso dire, non è possibile modificare direttamente l'URL di base senza entrare nel codice sorgente di AFNetworking. È possibile creare un nuovo HTTPClient
e impostarlo, ma ho trovato che questo ha causato ancor più problemi, presumibilmente perché RestKit sta facendo eseguire ulteriori configurazioni sul AFNetworking di HTTPClient
quando si imposta la RKObjectManager
, e impostando il cliente direttamente che si sta perdendo quella.
Mi è venuta in mente questa soluzione, che è quella di creare un altro RKObjectManager
con il nuovo database di base e aggiungere nuovamente i descrittori. Dovrai inoltre impostare nuovamente la serializzazione e i tipi di intestazione.
NSString *urlString = @"http://www.something.com/api";
RKObjectManager *newManager = [RKObjectManager managerWithBaseURL:[NSURL URLWithString:urlString]];
[newManager setRequestSerializationMIMEType:RKMIMETypeJSON];
[newManager setAcceptHeaderWithMIMEType:RKMIMETypeJSON];
[newManager addResponseDescriptorsFromArray:[RKObjectManager sharedManager].responseDescriptors];
[newManager addRequestDescriptorsFromArray:[RKObjectManager sharedManager].requestDescriptors];
[RKObjectManager setSharedManager:newManager];
Documentazione correlata: Using Multiple Base URLs in RestKit
fonte
2013-06-18 23:38:37
sul serio? devi aggiungere nuovamente tutti i descrittori solo per cambiare baseUrl? EDIT: Ok dopo aver letto la documentazione vedo perché, perché non vuoi cambiare l'URL di base mentre le richieste sono ancora in esecuzione, ecc. Quindi immagino di implementare il codice precedente e andare avanti con esso .. – deepwinter