본문 바로가기
[iOS Study] 지역화 [iOS Study] 지역화 출처 : 아론 힐리가스의 iOS 프로그래밍 -국제화(internationalization)은 각 나라의 고유 문화 정보를 앱에 하드 코딩 없이 적용하는 것이다.(문화적 정보는 언어, 통화, 날짜 포맷, 숫자 포맷 등을 뜻한다.) -지역화(localization) 은 사용자의 언어와 지역 포맷 설정을 기반으로 앱에 적절한 데이터를 제공하는 과정이다.이러한 설정은 설정 앱에서 찾을 수 있다.[일반] 항목에서 [다국어] 열을 선택하면 된다. -internationalization 은 i18n 으로localization 은 l10n 으로 축약해서 쓰기도 한다. -국제화는 NSDateFormatter 와 같은 Formatter 를 사용해서 구현한다.NSDateFormatter 는 사용.. 2016. 3. 17.
[iOS Study] UISplitViewController [iOS Study] UISplitViewController 출처 : 아론 힐리가스의 iOS 프로그래밍 4판 -아이패드는 UISplitViewController 라는 내장 클래스를 사용하여 두 뷰를 보여줄 수 있을 만큼 충분히 큰 화면 크기를 가지고 있다.UISplitViewController 는 아이패드 전용 클래스로 마스터-디테일 관계의 두 뷰 컨트롤러를 보여준다.마스터 뷰 컨트롤러는 화면 왼쪽의 작은 영역을 차지하고 디테일 뷰 컨트롤러는 나머지 영역을 차지한다. -스플릿 뷰 컨트롤러를 초기화할 때 탭바 컨트롤러에서 했던 것처럼 뷰 컨트롤러의 배열을 전달한다.다만 스플릿 뷰 컨트롤러의 배열은 두 개의 뷰 컨트롤러로 제한된다.마스터 뷰 컨트롤러와 디테일 뷰 컨트롤러이다.배열에서 뷰 컨트롤러의 순서는 스.. 2016. 3. 16.
[iOS Study] 저장, 읽기, 앱 상태 [iOS Study] 저장, 읽기, 앱 상태 출처 : 아론 힐리가스의 iOS 프로그래밍 -여기서는 iOS 에서 파일 시스템을 통해 읽고 쓰는 데 필요한 개념과 기법을 배운다. -아카이빙은 iOS 에서 모델 객체를 저장하는 가장 흔한 방법 중 하나이다.객체의 아카이빙은 그 객체의 프로퍼티들을 모두 기록하고 파일시스템에 그 내용을 저장하는 것을 포함한다.언아카이빙(unarchiving)은 아카이브한 데이터로부터 객체를 다시 만든다. -인스턴스들을 아카이브하고 언아카이브해야 할 클래스들은 NSCoding 프로토콜을 반드시 따라야 하며, 두 필수 메소드 encodeWithCoder: 와 initWithCoder: 를 구현해야 한다. -encodeWithCoder: 메시지를 받으면, 전달된 인자인 NSCoder .. 2016. 3. 7.
[iOS Study] 자동 회전, 팝오버 컨트롤러, 모달 뷰 컨트롤러 [iOS Study] 자동 회전, 팝오버 컨트롤러, 모달 뷰 컨트롤러 출처 : 아론 힐리가스의 iOS 프로그래밍 -이 장에서는 아래의 주제를 다룬다. 장치 의존적인 코드를 작성하는 방법과 장치의 종류에 따라 테스트하는 방법 회전, 팝오버 컨트롤러, 모달 뷰 컨트롤러 -iOS 에서는 방향을 장치방향 (device orientation) 과 인터페이스 방향(interface orientation) 두 가지로 구분한다. -장치 방향은 장치 표면이나 후면에서 정방향, 뒤집힌 상태, 왼쪽 회전, 오른쪽 회전인지에 따른 물리적 방향을 나타낸다.UIDevice 클래스의 orientation 프로퍼티를 통해 장치의 방향에 접근할 수 있다. -인터페이스 방향은 실행 중인 프로그램의 프로퍼티이다. UIInterfaceOr.. 2016. 3. 5.
[iOS Study] 터치 이벤트와 UIResponder [iOS Study] 터치 이벤트와 UIResponder 출처 : 아론 힐리가스의 iOS 프로그래밍 -UIView 는 UIResponder 의 하위 클래스로서 각각 다른 터치 이벤트를 처리할 네 개의 메소드를 재정의할 수 있다. - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event; -화면을 .. 2016. 2. 24.
[iOS Study] 뷰 컨트롤러 [iOS Study] 뷰 컨트롤러 출처 : 아론 힐리가스의 iOS 프로그래밍 -뷰 컨트롤러는 UIViewController 의 하위 클래스 인스턴스이다.뷰 컨트롤러는 뷰 계층구조를 관리한다.뷰 컨트롤러는 계층구조를 구성하는 뷰 객체들을 만들고 뷰 객체와 관련된 이벤트를 제어하고, 윈도우에 뷰 계층구조를 추가하는 역할을 한다. -UIViewController 의 하위 클래스는 중요한 프로퍼티를 하나 상속받는다. @property (nonatomic, strong) UIView *view; 이 프로퍼티는 UIView 인스턴스를 가리킨다.뷰 컨트롤러의 View 가 윈도우의 하위뷰로 추가되면, 뷰 컨트롤러의 뷰계층 전부가 윈도우에 추가된다. -뷰 컨트롤러의 view 는 화면에 보여줄 필요가 있을 때까지 만들어지.. 2016. 2. 18.
[iOS Study] ARC 를 통한 메모리 관리 [iOS Study] ARC 를 통한 메모리 관리 출처 : 아론 힐리가스의 iOS 프로그래밍 - 메소드나 함수가 실행되면 스택(stack)이라고 하는 메모리 영역의 일부가 할당된다. 이 할당된 메모리 공간을 프레임(frame)이라고 한다. -프로그램을 시작하고 main() 이 실행되면 main() 의 프레임이 스택에 들어간다.main() 이 다른 메소드(또는 함수)를 호춣하면 그 메소드의 프레임은 스택의 꼭대기에 들어간다. 각 메소드나 함수가 끝날 때마다 해당 프레임은 스택 꼭대기에서 즉시 빠져나와 사라진다.그 메소드가 다시 호출되면 새 프레임이 할당되고 스택에 들어간다. - ARC(자동 레퍼런스 카운팅, Automatic Reference Counting) 가 프로그램의 메모리 관리를 대신해준다. - .. 2016. 2. 15.
[iOS Study] Objective-C [iOS Study] Objective-C 출처 : 아론 힐리가스의 iOS 프로그래밍 -iOS 앱은 코코아 터치(Cocoa Touch) 프레임워크를 사용하여 Objective-C 언어로 작성된다.Objective-C 는 C 언어의 확장이며 코코아 터치 프레임워크는 Objective-C 클래스의 모음이다. - 일반적으로 Objective-C 에서는 인스턴스 변수명을 밑줄(_) 로 시작한다. - 객체를 만들기 위해서는 클래스에 alloc 메세지를 보낸다. 이에 클래스는 메모리(힙)에 객체를 만들고 변수에 저장된 그 객체의 주소를 준다. -Party* partyInstance = [Party alloc];[partyInstance init]; 새로 할당한 인스턴스에 보내는 첫 메시지는 항상 초기화 메시지다. .. 2016. 2. 13.
반응형