2009-02-27 5 views
0

J'utilise Apple Document pour créer une application. Je réussis la connexion au serveur, mais je reçois 0 octets du serveur (pas de données de réponse). Je prends les étapes suivantes:Réception de données provenant d'une URL sur iPhone?

  1. Je crée une application à base vue et ajouter une propriété 'receivedData':

    En ViewController.h:

    @property (nonatomic, retain) NSMutableData *receivedData;

    En ViewController.m:

    @synthesize receivedData;
  2. action de ViewController.m 'viewDidLoad', j'ajouter:

    receivedData = [NSMutableData alloc];
  3. Ajouter un bouton dans la vue et ajoutez l'action pour elle:

    // create the request 
    NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://..."] 
            cachePolicy:NSURLRequestUseProtocolCachePolicy 
            timeoutInterval:60.0]; 
    // create the connection with the request 
    // and start loading the data 
    NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self]; 
    if (theConnection) { 
    // Create the NSMutableData that will hold 
    // the received data 
    // receivedData is declared as a method instance elsewhere 
    receivedData=[[NSMutableData data] retain]; 
    } else { 
    // inform the user that the download could not be made 
    }

Quand je débogage ces codes, je trouve que receivedData retourne 0 octets. Des idées sur ce qui ne va pas? Une simple modification de mon code sera appréciée.

Répondre

0

Votre code crée uniquement la connexion HTTP - les données ne seront écrites et disponibles dans receivedData qu'après que les rappels de délégué ont été appelés par le framework (une fois la réponse HTTP reçue). Vous pouvez obtenir plus d'informations et l'exemple de code de Apple's documentation

+0

Merci. La méthode avec 'didReceiveData' est ajoutée et je reçois avec succès les données du serveur. –

Questions connexes