NSMutableArray writeToUrl - PullRequest
       10

NSMutableArray writeToUrl

0 голосов
/ 21 июня 2009

Можно ли использовать:

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

Чтобы отправить XML-файл (NSMutableArray) на URL-адрес и обновить URL-адрес, чтобы он содержал этот файл?

например: У меня есть массив, и я хочу загрузить его по определенному URL-адресу, и при следующем запуске приложения я хочу загрузить этот массив.

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

[arrayToWrite writeToURL:

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

А во время выполнения:

NSMutableArray *arrayToRead = 

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

Это означает, что я хочу записать NSMutableArray в URL-адрес, который находится на веб-хостинге (например, batcave.net, URL-адрес получает информацию и соответственно обновляет файлы на стороне сервера). Настройка, подобная рекорду, пользователь отправляет свои результаты, сервер обновляет свои файлы, другие пользователи загружают результаты во время выполнения.

Ответы [ 2 ]

1 голос
/ 21 июня 2009

Здесь, Ответ на этот вопрос:
Создание системы, похожей на рекорд, со стороны iPhone

Мне не удалось отредактировать свое сообщение, потому что я отправил сообщение со своего iPhone как анонимный пользователь, извините.

1 голос
/ 21 июня 2009

Что касается первой части вашего вопроса, Я предполагаю, что вы хотите использовать содержимое NSMutableArray для формирования своего рода URL-запроса (например, POST ), который вы отправите в свой веб-сервис и ожидаете получения некоторой информации ...

Не существует готового способа отправки содержимого NSMutableArray на URL, но есть простые способы сделать это самостоятельно. Например, вы можете перебирать данные вашего массива и использовать NSURLRequest для создания запроса URL, который соответствует интерфейсу вашего веб-сервиса. После создания запроса вы можете отправить его, передав объект NSURLConnection .

Рассмотрим этот очень простой и неполный пример того, как может выглядеть код на стороне клиента, используя массив Obj-C для предоставления данных ...

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...
}

Для решения части 2 вашего вопроса получателю веб-запроса, вероятно, потребуются некоторые сценарии или инфраструктура для получения полезного ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...