ページ

2012年3月15日木曜日

NSURLとかNSURLConnectionとか

// 非同期通信用メソッド
 // レスポンスが返ってきたときに呼び出されるメソッド
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
 resultUnsync =[[NSMutableData alloc]init];
NSLog(@"init resultUnsync:%@",resultUnsync);
};
 // データが返ってきたときに呼び出されるメソッド
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
[resultUnsync appendData:data];
NSLog(@"append data :%@",data);
};

// データ受信が完了したときに呼び出されるメソッド
- (void)connectionDidFinishLoading:(NSURLConnection *)connection{
NSString *resultUn = [[NSString alloc]initWithData:resultUnsync encoding:NSASCIIStringEncoding];
NSLog(@"result :%@",resultUn);
};




- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
NSString *keyword = [searchBar text];
NSLog(@"検索語: %@",keyword);
[searchBar resignFirstResponder];

NSString *requestFeed = @"http://gdata.youtube.com/feeds/api/videos?q=%@&v=2&format=1,6&alt=jsonc";
NSString *urlStirng = [NSString stringWithFormat:requestFeed,
[keyword stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSLog(@"url=%@",urlStirng);
NSURL *url = [NSURL URLWithString:urlStirng];

NSError *err=nil;

// 簡単なやり方
//id str2 = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&err];
//NSLog(@"%@",str2);

NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];

// 同期通信
/*
NSURLResponse *urlResponse = nil;
NSData *data = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&urlResponse error:&err];
NSString *result = [[NSString alloc]initWithData:data encoding:NSASCIIStringEncoding];
NSLog(@"result:%@",result);
*/

// 非同期通信
NSURLConnection *connection = [NSURLConnection connectionWithRequest:urlRequest delegate:self];

}

0 件のコメント:

コメントを投稿