Je suis en train de faire une application qui utilise une base de données (en fait dans mon localhost), j'ai essayé avec ASIHTTPRequest mais ayant tant des problèmes avec iOS 5 (j'ai appris à utiliser le formulaire ASIHTTPRequest il: http://www.raywenderlich.com/2965/how-to-write-an-ios-app-that-uses-a-web-serviceavec NSURLRequest
maintenant, je suis en train avec l'API fournie par Apple: NSURLRequest/NSURLConnection etc ...
J'ai lu le guide d'Apple en ligne et de faire ce premier code:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL
URLWithString:@"http://localhost:8888/testNSURL/index.php"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60.0];
[request setValue:@"Hello world !" forKey:@"myVariable"];
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
if (theConnection) {
receiveData = [NSMutableData data];
}
}
J'ai ajouté les délégués nécessaires par l'API
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
- (void)connection:(NSURLConnection *)connection
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
Voici mon code php:
<?php
if(isset($_REQUEST["myVariable"])) {
echo $_REQUEST["myVariable"];
}
else echo '$_REQUEST["myVariable"] not found';
?>
Alors quel est le problème? Quand je commence l'application, il se bloque immédiatement avec cette sortie:
**
**> 2012-04-09 22:52:16.630 NSURLconnextion[819:f803] *** Terminating app
> due to uncaught exception 'NSUnknownKeyException', reason:
> '[<NSURLRequest 0x6b32bd0> setValue:forUndefinedKey:]: this class is
> not key value coding-compliant for the key myVariable.'
> *** First throw call stack: (0x13c8022 0x1559cd6 0x13c7ee1 0x9c0022 0x931f6b 0x931edb 0x2d20 0xd9a1e 0x38401 0x38670 0x38836 0x3f72a
> 0x10596 0x11274 0x20183 0x20c38 0x14634 0x12b2ef5 0x139c195 0x1300ff2
> 0x12ff8da 0x12fed84 0x12fec9b 0x10c65 0x12626 0x29dd 0x2945) terminate
> called throwing an exception**
**
Je suppose, cela signifie que somethings ne va pas avec cette ligne:
[request setValue:@"Hello world !" forKey:@"myVariable"];
Cela fonctionne réellement si je commente cette ligne.
Ma question est: Comment puis-je envoyer des données à une API PHP, en utilisant NSURLRequest et NSURLConnexion?
Merci de votre aide.
P.S. Soit dit en passant, j'ai sur serveur pauvres connaissances, PHP ect ...
Nous vous remercions de votre réponse rapide! Malheureusement cela ne marche pas: J'ai une erreur avant la compilation: "Aucune @interface visible pour NSURLRequest déclare le sélecteur" setHTTPMethod ":/ – Edelweiss
changez votre requête en NSMutableURLRequest, éditez ma réponse aussi –
Eh bien, l'application ne plante pas! Maintenant, comment puis-je avoir accès à la réponse de mon serveur? Je pense que c'est dans le receiveData? Quel message devrais-je lui envoyer pour obtenir mon "Hello world" de retour? – Edelweiss