私はObjective-cを初めて使用し、最近、要求/応答に多大な努力を払い始めています。(http GETを介して)URLを呼び出し、返されたjsonを解析できる実用的な例があります。
この実例は以下の通りです
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
[responseData setLength:0];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[responseData appendData:data];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
NSLog([NSString stringWithFormat:@"Connection failed: %@", [error description]]);
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
[connection release];
//do something with the json that comes back ... (the fun part)
}
- (void)viewDidLoad
{
[self searchForStuff:@"iPhone"];
}
-(void)searchForStuff:(NSString *)text
{
responseData = [[NSMutableData data] retain];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.whatever.com/json"]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
}
私の最初の質問は-このアプローチはスケールアップするのでしょうか?または、これは非同期ではありません(つまり、アプリが応答を待っている間、UIスレッドをブロックします)
私の2番目の質問は、GETではなくPOSTを実行するように、このリクエスト部分をどのように変更すればよいですか?そのようにHttpMethodを変更するだけですか?
[request setHTTPMethod:@"POST"];
そして最後に-jsonデータのセットを単純な文字列としてこの投稿に追加するにはどうすればよいですか(たとえば)
{
"magic":{
"real":true
},
"options":{
"happy":true,
"joy":true,
"joy2":true
},
"key":"123"
}
前もって感謝します