Как разместить объект JSON в Xcode 4? - PullRequest
0 голосов
/ 05 ноября 2011

я получаю свой объект json, используя асинхронное соединение nsurl как {"firstname":"A","Contact":{"phone":1234567899,"email":"abc@yahoo.com"}}

Я хочу знать, что если я изменю значение своего телефонного номера, а затем захочу загрузить его обратно, как я могу это сделать. Нужно ли отправлять только пару ключ-значение для телефона или всего объекта {"имя": "А", "Контакт": {"телефон": 1234567899, "электронная почта": "abc@yahoo.com"}} с обновленным номером телефона на сервере для обновления в базе данных.

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; [request setURL:myUrl];
[request setHTTPMethod:@"POST"];
[request setValue:@"text/plain" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:stringInNSData]; 

Я нашел вышеупомянутую логику почти везде, но не знаю, как ее реализовать и где ее реализовать.

1 Ответ

2 голосов
/ 05 ноября 2011

Это действительно зависит от вашего сервера и от того, как хранится база данных.Если вы используете базу данных, похожую на SQL, вам нужно будет передать первичный ключ, который определяет, какую строку данных вы хотите обновить, а также обновленные поля.Код сервера, который получает сообщение, может обновлять передаваемые вами атрибуты и оставлять оставшуюся строку данных в покое.

Для того, где это реализовать, вы должны применять ее всякий раз, когда ваши данные изменяются.Если есть элементы пользовательского интерфейса, которые инициируют изменение данных, вы можете реализовать их там.Просто добавьте это ниже вашего кода

NSURLConnection *urlConnection = [NSURLConnection connectionWithRequest:request delegate:self];

Это установит класс, в котором код будет реализован как делегат для соединения, и начнет соединение.Вы можете использовать эти методы для успешного или неудачного обновления.

Connection Data and Responses
– connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:  delegate method Available in iOS 3.0 through iOS 4.3
– connection:didReceiveData:  delegate method Available in iOS 2.0 through iOS 4.3
– connection:didReceiveResponse:  delegate method Available in iOS 2.0 through iOS 4.3
– connection:willCacheResponse:  delegate method Available in iOS 2.0 through iOS 4.3
– connection:willSendRequest:redirectResponse:  delegate method Available in iOS 2.0 through iOS 4.3
Connection Completion
– connection:didFailWithError:  delegate method Available in iOS 2.0 through iOS 4.3
– connectionDidFinishLoading:  delegate method Available in iOS 2.0 through iOS 4.3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...