Domanda

Sto cercando di effettuare una chiamata web con l'iPhone. Ho fatto prima e funziona benissimo, ma ora non riesco a farlo funzionare. Sto cercando di utilizzare il metodo seguente chiamata, che la documentazione dice è availble in 2.0 e versioni successive:

- (void)addValue:(NSString *)value forHTTPHeaderField:(NSString *)field;

Sto tentando di costruire per la versione 3.2 e 4.0.

NSMutableURLRequest *request = [NSURLRequest 
                                requestWithURL:url 
                                cachePolicy:NSURLRequestReloadIgnoringCacheData 
                                timeoutInterval:30];

[request addValue:@"0" forHTTPHeaderField:@"Content-Length"];

L'errore che sto ricevendo è un errore di runtime che dice

"-[NSURLRequest addValue:forHTTPHeaderField:]: unrecognized selector sent to instance 0x600e0c0"

Qualcuno può dirmi che cosa manco che ferma questo codice da lavorare?

Grazie.

È stato utile?

Soluzione

Si sta inizializzazione di un NSURLRequest invece di un NSMutableURLRequest. Probabilmente stai ricevendo un avviso del compilatore su di esso, ma le forze di runtime un cast di super classe immutabile. Funziona fino a quando si tenta di inviare un messaggio alla classe Super immutabile, non ha.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top