OpenGL을 사용하는 라이브러리간 화면 객체 충돌을 처리하는 방법
다른 뷰어 라이브러리들이 OpenGL을 사용하는 경우에 Context가 정리되면서 기존 뷰의 Context들이 사라져버리는 경우들이 있습니다. EAGLContext는 OpenGL ES Rendering context를 관리하며 다른 뷰로 호출할 경우 Context를 저장하여 나중에 복원할...
다른 뷰어 라이브러리들이 OpenGL을 사용하는 경우에 Context가 정리되면서 기존 뷰의 Context들이 사라져버리는 경우들이 있습니다. EAGLContext는 OpenGL ES Rendering context를 관리하며 다른 뷰로 호출할 경우 Context를 저장하여 나중에 복원할...
NSNumberFormatter에는 여러가지 NumberStyle이 있는데 그 중 NSNumberFormatterDecimalStyle이 있습니다. NSNumberFormatterDecimalStyle는 10진수로 나타내는 방식이며 3자리 수마다 ,를 찍습니다. NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc]init]; [numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle]; NSNumber *num = @1234567890.1234; NSLog(@"Result...
Objective-C 스타일 가이드 번역 완료하였습니다. 말이 안맞는 경우는 저한테 issue로 남기시거나 NYTimes에서 Pull Request를 받으면 거기에서 issue 남기시면 됩니다. 원문 번역 ps. 스타일 가이드 관련해서 확실히 내가 잘...
nil과 null 오브젝티브C에서 nil은 객체 참조에 사용되고 null은 기타 다른 포인터 자료형에 사용합니다. //nil 사용 MyClass *obj = nil // null 사용 int *ptr = NULL; 만일 nil...
카테고리 카테고리는 클래스 선언 부분 중 특정 부분에 따로 이름을 붙이는 방법입니다. 자바에서 클래스를 하나의 묶음으로 선언해야 사용할 수 있지만 오브젝티브C에서는 클래스를 여러 개의 외부 메소드로 나누어 선언할...
프로토콜 프로토콜은 @protocol 명령으로 선언하며 @protocol 명령 안에는 해당 프로토콜에 필요한 메소드를 나열합니다. 자바의 인터페이스처럼 프로토콜에는 인스턴스 변수가 들어가지 않으며 메소드만 포함됩니다. @interface Attacks : Game<Living> @end @protocol...
프로토콜 프로토콜은 @protocol 명령으로 선언하며 @protocol 명령 안에는 해당 프로토콜에 필요한 메소드를 나열합니다. 자바의 인터페이스처럼 프로토콜에는 인스턴스 변수가 들어가지 않으며 메소드만 포함됩니다. @interface Attacks : Game<Living> @end @protocol...
Java에서 toString이 있다면 ObjectiveC에서는 description이 있습니다. 기본 타입이 아닌 우리가 임의로 생성한 타입의 객체를 생성하고 그 객체를 출력하려고 하면 description 메소드를 작성을 해줍니다. -(NSString *)description { NSString *str...
오픈소스 라이브러리를 활용하다보면 @class라고 선언한 부분이 보입니다. 그냥 넘어갈 수도 있지만 나중에 유용하게 사용할 수 있기때문에 찾아보았습니다. 대개 특정 클래스를 사용하기 위해서는 다음과 같이 사용합니다. #import "Foo.h" @interface...
팩토리 패턴(Factory Pattern) 팩토리 메소드 패턴에서는 객체 생성을 처리하는 클래스를 정의합니다. 다수의 클래스를 생성하고 상황에 맞는 클래스를 가지고 객체를 생성을 하는데 생성 클래스의 변경에 따른 소스 변경이 줄어듭니다....
프로젝트 중에 상태바를 표시해야하거나 꺼야 하는 화면이 있습니다. 전체 화면에 상태바를 보이지 않게 하기 위해서는 ProjectName-Info.plist파일을 수정해야 합니다. 다음 항목을 추가합니다. <key>UIStatusBarHidden</key> <true/> <key>UIViewControllerBasedStatusBarAppearance</key> <false/> 만약에 특정 화면에서...
Google Analytics는 기본 세션 유지시간이 30분정도입니다. 그리하여 꾸준히 클라이언트에서 살아있음을 알려줘야 합니다. 이것을 HeartBeat라고 합니다. NSTimer에서 지원하는 scheduledTimerWithTimeInterval를 통해 일정시간마다 데이터을 보내도록 합니다. NSTimer *keepAliveTimer = [NSTimer scheduledTimerWithTimeInterval:KeepAliveTime...
NSDictionary를 이용한 조건문 제거하기 if, switch문을 통해 변수의 값을 대입하는 코드들을 많이 작성했습니다. 그러나 이 조건문을 없애고 싶다는 생각도 많이 했습니다. 최근에 Refactoring Tricks라는 글을 보면서 Key-Value를 통해서...
Google Analytics는 기본 세션 유지시간이 30분정도입니다. 그리하여 꾸준히 클라이언트에서 살아있음을 알려줘야 합니다. 이것을 HeartBeat라고 합니다. NSTimer에서 지원하는 scheduledTimerWithTimeInterval를 통해 일정시간마다 데이터을 보내도록 합니다. NSTimer *keepAliveTimer = [NSTimer scheduledTimerWithTimeInterval:KeepAliveTime...
NSDictionary를 이용한 조건문 제거하기 if, switch문을 통해 변수의 값을 대입하는 코드들을 많이 작성했습니다. 그러나 이 조건문을 없애고 싶다는 생각도 많이 했습니다. 최근에 Refactoring Tricks라는 글을 보면서 Key-Value를 통해서...
프로젝트 중에 상태바를 표시해야하거나 꺼야 하는 화면이 있습니다. 전체 화면에 상태바를 보이지 않게 하기 위해서는 ProjectName-Info.plist파일을 수정해야 합니다. 다음 항목을 추가합니다. <key>UIStatusBarHidden</key> <true/> <key>UIViewControllerBasedStatusBarAppearance</key> <false/> 만약에 특정 화면에서...
NSDictionary를 이용한 조건문 제거하기 if, switch문을 통해 변수의 값을 대입하는 코드들을 많이 작성했습니다. 그러나 이 조건문을 없애고 싶다는 생각도 많이 했습니다. 최근에 Refactoring Tricks라는 글을 보면서 Key-Value를 통해서...
프로젝트 중에 상태바를 표시해야하거나 꺼야 하는 화면이 있습니다. 전체 화면에 상태바를 보이지 않게 하기 위해서는 ProjectName-Info.plist파일을 수정해야 합니다. 다음 항목을 추가합니다. <key>UIStatusBarHidden</key> <true/> <key>UIViewControllerBasedStatusBarAppearance</key> <false/> 만약에 특정 화면에서...
NSDictionary를 이용한 조건문 제거하기 if, switch문을 통해 변수의 값을 대입하는 코드들을 많이 작성했습니다. 그러나 이 조건문을 없애고 싶다는 생각도 많이 했습니다. 최근에 Refactoring Tricks라는 글을 보면서 Key-Value를 통해서...
프로젝트 중에 상태바를 표시해야하거나 꺼야 하는 화면이 있습니다. 전체 화면에 상태바를 보이지 않게 하기 위해서는 ProjectName-Info.plist파일을 수정해야 합니다. 다음 항목을 추가합니다. <key>UIStatusBarHidden</key> <true/> <key>UIViewControllerBasedStatusBarAppearance</key> <false/> 만약에 특정 화면에서...
Google Analytics는 기본 세션 유지시간이 30분정도입니다. 그리하여 꾸준히 클라이언트에서 살아있음을 알려줘야 합니다. 이것을 HeartBeat라고 합니다. NSTimer에서 지원하는 scheduledTimerWithTimeInterval를 통해 일정시간마다 데이터을 보내도록 합니다. NSTimer *keepAliveTimer = [NSTimer scheduledTimerWithTimeInterval:KeepAliveTime...
Google Analytics는 기본 세션 유지시간이 30분정도입니다. 그리하여 꾸준히 클라이언트에서 살아있음을 알려줘야 합니다. 이것을 HeartBeat라고 합니다. NSTimer에서 지원하는 scheduledTimerWithTimeInterval를 통해 일정시간마다 데이터을 보내도록 합니다. NSTimer *keepAliveTimer = [NSTimer scheduledTimerWithTimeInterval:KeepAliveTime...
들어가기 전에 Base64알고리즘에 대해서는 많이 말하고 많이 듣기도 하였지만 실제로 어떻게 알고리즘이 사용되는지 알지 못하였습니다. 최근에 개인적으로 애플에서 결제 영수증에서 내려오는 데이터가 Base64로 인코딩이 되어 있는데 이것을 검증하지...
이 문서는 Renaming a remote의 비공식 번역글이며 GitHub에서 보증, 유지 또는 감독하지 않습니다. 공식 도움글을 보시려면 help.github.com을 방문하세요. 원격 저장소 이름 변경하기 기존 원격 저장소 이름을 변경하기 위해...
이 문서는 Changing a remote’s URL의 비공식 번역글이며 GitHub에서 보증, 유지 또는 감독하지 않습니다. 공식 도움글을 보시려면 help.github.com을 방문하세요. 원격 저장소 URL 변경하기 기존 원격 저장소 URL을 변경하기...
들어가기 전에 이번에 프로젝트에 카카오톡 링크 기능을 추가할 필요가 있어서 카카오톡 개발자 페이지에서 framework을 내려받고 추가하였습니다. 개발 가이드를 보다보니 프로젝트 Build Settings의 Linking에 -all_load를 추가하라는 문구가 있어 일단...