मैं ऑब्जेक्टिव-सी के लिए नया हूं और हाल ही में अनुरोध / प्रतिक्रिया में काफी प्रयास करने लगा हूं। मेरे पास एक काम करने वाला उदाहरण है जो एक यूआरएल (HTTP जीईटी के माध्यम से) कॉल कर सकता है और वापस लौटे हुए जौन को पार्स कर सकता है।
इसका कार्य उदाहरण नीचे है
- (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];
}
मेरा पहला सवाल है - क्या यह दृष्टिकोण बड़ा होगा? या यह async नहीं है (जिसका अर्थ है कि मैं UI थ्रेड को ब्लॉक करता हूं जबकि एप्लिकेशन प्रतिक्रिया की प्रतीक्षा कर रहा है)
मेरा दूसरा सवाल है - मैं GET के बजाय POST करने के लिए इसके अनुरोध हिस्से को कैसे संशोधित कर सकता हूं? क्या बस इतना ही HttpMethod को संशोधित करना है?
[request setHTTPMethod:@"POST"];
और अंत में - मैं इस पोस्ट में एक साधारण स्ट्रिंग के रूप में json डेटा का एक सेट कैसे जोड़ सकता हूं (उदाहरण के लिए)
{
"magic":{
"real":true
},
"options":{
"happy":true,
"joy":true,
"joy2":true
},
"key":"123"
}
पहले ही, आपका बहुत धन्यवाद