아이폰어플개발정보2010. 6. 24. 14:22
iPhone NSURLConnection 을 이용한 파일 다운로드
NSURLConnection 을 이용하면 웹에 있는 파일을 쉽게 다운로드 할 수 있다.
그래. 쉽다. 그런데 이걸 알기까지는 결코 쉽지 않았다. 에휴..

NSURLConnection 을 쓰기 편하도록 KNURLDownloader 를 만들었다.
사용법은 간단하다.

- (void)start {

NSLog(@"Start Test drived development");

KNURLDownloader*knDownloader = [KNURLDownloadersharedInstance];

[knDownloaderdownload:@"http://211.115.217.70/down/ServicePort.plist"

callbackTarget:self

onComplete:@selector(onDownloadComplete:) 

onError:@selector(onError)];

}


정말 쉽지? 두개의 콜백메서드를 할당해줘야 한다. 한가지는 파일 다운로드가 완료되었을 때 동작할 메소드

다른 한가지는 에러가 발생했을때 동작할 메소드다.


그러니까. 이걸 사용하는 콜러에서는 두개의 메소드가 아래처럼 있음직하다.


- (void)onDownloadComplete:(NSMutableData *)pRcvData {

NSLog(@"onFire downloadcomplete callback function");

KNURLDownloader*knDownloader = [KNURLDownloadersharedInstance];

[knDownloader saveToFile:pRcvData pFileName:@"ServicePort.plist"];

}


- (void)onDownloadError {

NSLog(@"onFire downloaderror callback function");

}


다운로드가 완료되었을 때는 saveToFile 메소드를 이용해서 파일을 저장할 수 있다.

나중에 이 클래스를 계속 업그레이드 하면서 파일저장 메소드가 꽤나 많이 생길 것 같은데..




출처 : http://blog.naver.com/PostView.nhn?blogId=suny4rang&logNo=50082266140
Posted by 오늘마감

댓글을 달아 주세요

아이폰어플개발정보2010. 6. 24. 14:22
iPhone NSDictionary 객체로 Plist (XML) 파일 읽기
너무 단순한가?
여기서 중요한 부분은 샌드박스 내의 경로를 읽어오는 것이다.

- (NSDictionary *)readPlistFile:(NSString *)pFilepath {

    NSArray *arrayPaths = NSSearchPathForDirectoriesInDomains(
                                                              NSDocumentDirectory,
                                                              NSUserDomainMask,
                                                              YES);
    NSString *docDir = [arrayPaths objectAtIndex:0];   
    NSString *filePath = [[NSString alloc] initWithFormat:@"%@/%@", docDir, pFilepath];   
    NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:filePath];

    return dic;
}



근데, 이걸 작업하던 중에 재밌는 현상을 발견했는데, 아직 풀진 못했다.
A 라는 클래스에서 멤버변수로 NSDictionary 객체가 있다. 그리고 특정 메소드에서 위 녀석을 실행하게 되는데
그 메소드의 영역을 벗어나게 되면 멤버변수로 있던 딕셔너리객체가 다시 nil 이 되는거다. ㅡㅡ;;;
아니, 정확히 말해서 nil 인지 아닌지는 모르겠으나, 객체의 사용이 불가능해지는 걸로 보아 메모리 바이올레이션 오류를 내는듯 하다.

이걸 확인해봐야겠다.



출처 : http://blog.naver.com/PostView.nhn?blogId=suny4rang&logNo=50082356335
Posted by 오늘마감

댓글을 달아 주세요

XCODE2010. 6. 24. 13:18
맥에서 숨김 파일 표시
맥에서 숨김 파일은 . 으로 시작하는 파일들 입니다. 예를 들어 MyFolder 는 파인더에서 보이는데 .MyFolder 는 안보이게 됩니다. 이게 맥에서 '.' 으로 시작하는 프로그램은 예약 작업이 들어가 있다고 하는데 자세한건 모르겠네요. 여튼 이숨김 파일을들 보기 위해서는 일단 가장 기본적으로 터미널에서 보는 법이 있습니다.

터미널에서는 ls -a 하면 숨은 파일들도 다 보여줍니다. 근데 매일 같이 터미널 열고 보기 귀찮으신 분들은 다음과 같이 터미널에서 입력해주시면 쉽게 파인더에서 다 볼 수 있습니다.

defaults write com.apple.Finder AppleShowAllFiles YES

이렇게 입력 해주고 파인더를 한번 강제종료 해주면 숨은 파일들이 다 보이는 걸 보실

수 있습니다. 물론 다시 감추시려면

defaults write com.apple.Finder AppleShowAllFiles NO

해주시면 됩니다.


<터미널에서 스크립트 입력>


<파인더 강제 종료>


<파인더에서 보이는 숨김 파일들>

제 블로그에 올렸던 내용을 다시 퍼다 올립니다 ^^;

혹시 tistory 초대 메일 주실 수 있는분~~~ ㅠㅠ

이글루가 요즘 검색에 너무 많이 노출돼서 별로 안 좋네요.
 


출처 : http://blog.naver.com/PostView.nhn?blogId=gonagi&logNo=150043118918
Posted by 오늘마감

댓글을 달아 주세요

XCODE2010. 6. 21. 18:28
[xcode 팁] .h과 .m 파일 이동하기

드디어 오늘 부터 xcode를 사용하여 objective-c의 세계에 입문하였습니다.

xcode의 단축키를 외우기가 쉽지가 않군요...

더군더나 옵션키, 커멘드키 등...  맥키보드에만 있는 말들이라 더 그럴지도 모르겠네요 ㅠㅠ;

거두절미하고...

.h 파일과 .m 파일 간의 이동이 정말많이 발생하는데...  이를 빠르게 전환 시켜주는 단축키가 있더군요..

맥키보드 기준으로

커맨더 키 + 옵션 키 + ↑키

윈도우용 키보드 기준으로는

윈도우키 + ALT +  ↑키

입니다..



출처 : http://blog.naver.com/PostView.nhn?blogId=mewizard&logNo=20065683078
Posted by 오늘마감

댓글을 달아 주세요