본문 바로가기

code snippet

(19)
[Swift] 파일 접근하기 플레이 그라운드로 스위프트 코드를 작성하다, 이미지 파일 참조가 안 되는 현상이 발생했다. 분명 스위프트 코드와 같은 디렉토리에 파일을 복사하고 상대 경로로 접근하려니, 접근이 안된다. let fm : NSFileManager = NSFileManager.defaultManager() let filePath = "./image1.png" fm.fileExistsAtPath(filePath) 스위프트 파일이 저장된 위치와 스위프트 파일이 실행되는 경로가 다른 점이 그 원인이다. 실행 디렉토리를 찾아보자! fm.currentDirectoryPath 다음과 같이 라이브러리 폴더가 찍힌다. /Users/USER/Library/Containers/com.apple.dt.playground.stub.OSX.PLAY..
[SWIFT] JSON 파싱 예제 코드 json 파싱 예제 코드 플레이그라운드에서 json을 파싱해서 제목과 가수 이름만 출력하도록 작성했다. json은 애플의 25 Top Song RSS의 json 버전을 이용. 다음은 코드. Objective-C 에 비해서 타입 체크가 너무 강해졌다.let urlStr = "http://ax.itunes.apple.com/WebObjects/MZStoreServices.woa/ws/RSS/topsongs/limit=25/json" let url = NSURL.URLWithString(urlStr)let data = NSData(contentsOfURL: url)var error : NSError? // 반환 타입이 AnyObject!let result : AnyObject = NSJSONSerializat..
비율(Aspect Ratio) 제약사항 : iOS7.1 변경사항 iOS7과 iOS7.1의 변경 사항 - Aspect Ratio Constraint 다음은 iOS7용 인터페이스 빌더의 모습이다. 간격(Spacing)이나 크기(Width, Height) 등을 설정할 수 있다. 다음 그림은 iOS7.1b 용 Xcode(5.1)의 인터페이스 빌더의 모습이다. Aspect Ratio를 설정할 수 있다. 다음 그림은 비율 제약조건의 인스펙터의 모습이다. 코드로 해야 하는 부분이 인터페이스 빌더로도 가능해졌다. 그런데 문제는 스토리보드 파일 호환이 안된다.
[PhoneGap] 안드로이드의 기기 전화 번호 얻어오기 안드로이드는 기기의 전화번호를 얻어올 수 있지만 안드로이드 코드를 작성해야 하지만, 이를 누군가가 플러그인으로 사용할 수 있도록 만들어놨다. 폰갭 플러그인 사이트는 아래와 같다. https://github.com/macdonst/TelephoneNumberPlugin 폰갭 프로젝트에서 콘솔을 이용해서 아래와 같이 플러그인을 설치한다.cordova plugin add com.simonmacdonald.telephonenumber 이 플러그인을 설치하면 자바 파일과 몇 가지 설정이 자동으로 변경된다. 안드로이드 프로젝트의 소스 폴더의 com.simonmacdonald.cordova.plugins 패키지에 TelephoneNumber 라는 java 파일이 추가된다. res/xml/config.xml 에는 플러..
Xcode5 beta5 버전 : 콘솔에 AssertMacros로 넘치는 현상 발생 Xcode5 베타5 버전을 사용하는데 아래와 같이 콘솔에 AssertMacro가 계속 출력되는 현상이 발생. 콘솔로 데이터를 확인하는 상황에서 상당히 귀찮은 일이다. 개발자 포럼에서 찾은 해결 방법 - main.c 를 아래와 같이 수정한다. #import "AppDelegate.h" typedef int (*PYStdWriter)(void *, const char *, int);static PYStdWriter _oldStdWrite; int __pyStderrWrite(void *inFD, const char *buffer, int size){ if ( strncmp(buffer, "AssertMacros:", 13) == 0 ) { return 0; } return _oldStdWrite(inFD, ..
[ObjectiveC] ARC 사용 여부 체크 __has_feature() 를 이용해서 ARC 사용 여부를 알 수 있다. #if __has_feature(objc_arc) NSLog(@"with ARC"); #else NSLog(@"without ARC"); #endif 출처 : http://lists.apple.com/archives/xcode-users/2011/Aug/msg00252.html
[iOS] NSString과 NSMutableString을 이용한 append 속도 비교 간단하게 A에서 z까지 문자열 결합 속도 테스트.. 약 60번 append 메소드가 실행된다. NSString의 stringByAppending~~과 NSMutableString의 append를 비교했다. NSString은 매번 객체를 생성하는 방식이므로 느릴것이다~라고 예상. -(void)testAppend1 { NSString *result = @""; NSTimeInterval start = [NSDate timeIntervalSinceReferenceDate]; for (char c = 'A' ; c
[iOS] 한영이 섞인 XML 파싱시 한/영 분리 문제.. NSXMLParser NSXMLParser를 이용한 파싱에서 한글과 영어가 섞인 항목에서 한영 분리 현상이 발생하고 있다. Event-Driven 파싱을 할때 NSXMLParser의 겔리게이트 중 -(void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string 메소드를 이용한다. XML 문서가 아래와 같이 영문 + 한글 형식이면 abc가나다 abc | 가나다 가 분리된다. 이상현상으로는 영문 + 한글 + 영문 형식이면 abc가나다def 의 경우에는 abc | 가나다def 로 분리된다. 한글 + 영문 + a 으로 시작하는 경우에는? 가나다abc라마바def 가나다abc라마바def 가 하나의 토큰으로 인식된다.