- (BOOL)requestUrlGetType:(NSString *)url {
// URL 접속 초기화
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:5.0];
//GET방식
[request setHTTPMethod:@"GET"];
// 헤더 추가가 필요하면 아래 메소드를 이용
[request setValue:헤더Value forHTTPHeaderField:@"HeaderKey"];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if (connection) {
receivedData = [[NSMutableData data] retain]; // 수신할 데이터를 받을 공간을 마련 NSMutableData로 선언
return YES;
}
return NO;
}
// POST key
- (BOOL)requestUrlPostType:(NSString *)url withBody:(NSString *)aBody {
// URL 접속 초기화
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:3.0];
// POST 방식
[request setHTTPMethod:@"POST"];
// 헤더 추가가 필요하면 아래 메소드를 이용
[request setValue:헤더Value forHTTPHeaderField:@"HeaderKey"];
[request setHTTPBody:[aBody dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if (connection) {
receivedData = [[NSMutableData data] retain]; // 수신할 데이터를 받을 공간을 마련
return YES;
}
return NO;
}
//값 받아오는 부분
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
NSString *returnString = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"return data : %@" , returnString);
//TO DO :: 받은 데이터를 풀어서 Dictionary로 만든 후 안에 메세지를 전달함
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)aResponse {
[receivedData setLength:0];
response = aResponse;
}
// 에러 발생 시 처리
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
NSLog(@"Error : %@", [error localizedDescription]);
}
따로 네트워크 모듈 담당 클래스를 만든 후 사용하고 싶은 곳에서 instance를 불러와서 사용
받은 데이터는 Delegate를 통해서 원하는 곳에 반응하는 메서드를 사용.
'옛글 > 아이폰 프로그래밍' 카테고리의 다른 글
[iOS] TouchJson Framework Guide (0) | 2012.08.07 |
---|---|
xCode iCloud 연동 소스 배포 (0) | 2012.07.23 |
Code signing is required for product type 'Application' in SDK 'iOS5.1' 에러처리 (0) | 2012.07.23 |
iOS에서 나인패치(배경리사이즈) 적용하기 (0) | 2012.07.20 |
iCloud Guide (XCode iCloud 적용가이드) (0) | 2012.07.17 |