2009-06-20 8 views
0

Est-il possible d'utiliser le:NSMutableArray writeToUrl

[NSMutableArray writeToURL:(NSString *)path atomically:(BOOL)AuxSomething]; 

Pour envoyer un fichier XML fichier (NSMutableArray) à une URL, et mettre à jour l'URL pour contenir ce fichier?

par exemple: J'ai un tableau et je veux le télécharger vers une URL spécifique et la prochaine fois que l'application se lance, je veux télécharger ce tableau.

NSMutableArray *arrayToWrite = [[NSMutableArray alloc] initWithObjects:@"One",@"Two",nil]; 

[arrayToWrite writeToURL: 

[NSURL urlWithString:@"mywebsite.atwebpages.com/myArray.plist"] atomically:YES]; 

Et lors de l'exécution:

NSMutableArray *arrayToRead = 

[[NSMutableArray alloc] initWithContentsOfURL:[NSURL   urlWithString:@"mywebsite.atwebpages.com/myArray.plist"]]; 

Signification, je veux écrire un NSMutableArray à une URL, qui est un service d'hébergement Web (par exemple batcave.net, l'URL reçoit les informations et mises à jour serveur fichiers face en conséquence. un highscore comme l'installation, l'utilisateur envoie ses scores, les mises à jour du serveur c'est des fichiers, d'autres utilisateurs de télécharger les meilleurs scores lors de l'exécution.

+0

Vous devrez être beaucoup plus clair dans votre question - que voulez-vous dire «écrire dans une URL»? Souhaitez-vous ajouter le contenu du tableau à une URL basée sur votre hôte? Ou voulez-vous télécharger les données dans le tableau à un certain endroit sur votre site Web? – Tim

+0

Copie possible de [Création d'un système de type "highscore", côté iPhone] (https://stackoverflow.com/questions/1023289/creating-a-highscore-like-system-iphone-side) –

Répondre

1

Quant à la première partie de votre question, je suppose que vous voulez utilisation le contenu d'un NSMutableArray pour former une sorte de demande d'URL (comme POST) que vous enverrez à votre service Web et attendez quelques informations ...

Il n'existe aucun moyen prédéfini d'envoyer le contenu d'un NSMutableArray à une URL mais il existe des moyens simples de le faire vous-même. Par exemple, vous pouvez parcourir les données de votre tableau et utiliser NSURLRequest pour créer une demande d'URL conforme à l'interface de votre service Web. Une fois que vous avez construit votre requête, vous pouvez l'envoyer en lui passant un objet NSURLConnection.

Considérons cet exemple très simple et incomplète de ce que le code côté client pourrait ressembler à l'aide d'un tableau Obj-C pour fournir des données ...

NSMutableData *dataReceived; // Assume exists and is initialized 
NSURLConnection *myConnection; 

- (void)startRequest{ 
    NSLog(@"Start"); 

    NSString *baseURLAddress = @"http://en.wikipedia.org/wiki/"; 

    // This is the array we'll use to help make the URL request 
    NSArray *names = [NSArray arrayWithObjects: @"Jonny_Appleseed",nil]; 
    NSString *completeURLAsString = [baseURLAddress stringByAppendingString: [names objectAtIndex:0]]; 

    //NSURLRequest needs a NSURL Object 
    NSURL *completeURL = [NSURL URLWithString: completeURLAsString]; 

    NSURLRequest *myURLRequest = [NSURLRequest requestWithURL: completeURL]; 

    // self is the delegate, this means that this object will hanlde 
    // call-backs as the data transmission from the web server progresses 
    myConnection = [[NSURLConnection alloc] initWithRequest:myURLRequest delegate: self startImmediately:YES]; 
} 

// This is called automatically when there is new data from the web server, 
// we collect the server response and save it 
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
{ 
    NSLog(@"Got some"); 
    [dataReceived appendData: data]; 
} 

// This is called automatically when transmission of data is complete 
- (void)connectionDidFinishLoading:(NSURLConnection *)connection { 
    // You now have whatever the server sent... 
} 

Pour faire face partie 2 de votre question, le récepteur d'une requête Web nécessitera probablement des scripts ou une infrastructure pour apporter une réponse utile.

Questions connexes