본문 바로가기

initWithContentsOfURL의 캐싱 문제 기존에는 initWithContentsOfURL를 이용해서 데이터를 가져왔는데, 이게 Cache된 데이터를 가져오는 문제가 있다는 것을 알았다. 기존에 서버에 최신 버전정보가 있는 xml을 두고 initWithContentsOfURL로 데이터 값을 읽는 코드를 작성했었다. NSString* newVersion = [NSString stringWithFormat:@"%@/NewVersion.xml", liveUpdateServer];NSURL* versionURL = [NSURL URLWithString:newVersion];NSXMLDocument* doc = [[NSXMLDocument alloc] initWithContentsOfURL:versionURL options:NSXMLDocumentTidy.. 더보기
[AppleScript] Automator에서 애플 스크립트(AppleScript) 시작하기 자동화 도구를 작성하려고 하는데, 디테일한 명령을 실행하려면 애플 스크립트(AppleScript)를 활용해야 할 것 같다. 애플 스크립트는 애플 스크립트 편집기를 이용해서 테스트 가능하다. 응용 프로그램 > 유틸리티 > AppleScript 편집기.app를 실행 간단한 편집창이 뜨는데, 여기에 우리에게 친숙한 Hello World! 다이얼로그를 띄울려면, 다음과 같이 입력한다. display dialog "Hello world!" 상단의 실행 버튼을 누르면 Hello World! 다이얼로그가 뜨는 것을 확인 할 수 있다. 일단 목적은 Automator에서 애플스크립트를 실행하는 것이다. 우선 Automator를 실행하도록 한다. 응용 프로그램 > Automator.app를 실행 검은색 파이프 같은 것을 .. 더보기
NSDictionary의 Key값을 정렬된 상태로 얻어오기 NSDictionary의 key목록을 NSArray형태로 가져오려면 다음과 같이 쓰면 된다. NSArray* arrKey = [myDic allKeys];NSLog(@"%@", arrKey); 문제는 이렇게 전달받은 key의 목록들이 정렬이 되어 있는지 보장을 못한다. 설령 NSDictionary에 값을 set해줄 때 key값을 정렬한 순서대로 한 경우에도, 막상 allKeys로 가져올 때 순서가 차례대로 오지는 않았다. (역순으로 오는 것처럼 보이나 확답은 못하겠다) 이경우 간단하게 정렬해서 가져오려면 다음과 같이 쓰면 된다. NSArray* arrSortedKey = [[myDic allKeys] sortedArrayUsingSelector:@selector(compare:)];NSLog(@"%@",.. 더보기