본문 바로가기
[Effective Objective-C] #17 description 메서드를 구현하라 [Effective Objective-C] #17 description 메서드를 구현하라 출처 : Effective Objective-C -디버깅할 때 객체의 내용을 출력하면 유용할 때가 있다.내용을 출력하는 방법 중 하나는 객체의 모든 프로퍼티를 출력하는 로깅 코드를 작성하는 것이지만, 다음과 같이 하는 것이 더 일반적인 방법이다.NSLog(@“object = %@“, object); 문자열이 로그로 기록될 때 object 는 description 메시지를 받을 것이다. -여러분이 만든 클래스에서 NSObject 기본 구현의 description 이 호출될 것이다.이 메서드는 NSObject 프로토콜에 정의되어 있지만, NSObject 클래스가 구현한다.많은 메서드가 NSObject 프로토콜에 속해있는.. 2017. 8. 20.
[Effective Objective-C] #3 메서드보다는 같은 일을 하는 리터럴 문법을 사용하라 [Effective Objective-C] #3 메서드보다는 같은 일을 하는 리터럴 문법을 사용하라 출처 : Effective Objective-C -NSString, NSNumber, NSArray, NSDictionary 인스턴스 모두 리터럴 문법을 지원한다. -리터럴 문법을 사용하면 소스 코드 크기가 줄고 코드가 읽기 쉬워진다. 리터럴 숫자 -정수, 실수, 불린 값을 Objective-C 로 감쌀(wrapping) 필요가 있다.이는 숫자 타입을 다룰 수 있는 NSNumber 클래스를 이용해 할 수 있다. -리터럴을 쓰지 않으면 다음과 같이 생성한다.NSNumber *number = [NSNumber numberWithInt:1]; 그러나 리터럴을 사용하면 이렇게 간단하다.NSNumber *numbe.. 2017. 7. 20.
[iOS Study] NSUserDefaults [iOS Study] NSUserDefaults 출처 : 아론 힐리가스의 iOS 프로그래밍 -사용자의 환경설정(preferences) 을 가진 plist 가 각 앱 번들 안에 저장된다.개발자는 NSUserDefaults 클래스를 사용하여 이 plist 에 접근할 수 있다.또한 앱의 환경설정 plist 는 설정 앱에서 수정할 수 있다.이를 허용하려면 앱 안에 설정 번들(settings bundle)을 만들어야 한다. -사용자의 기본 설정(default) 집합은 키-값 쌍의 모음이다.키는 기본 설정의 이름이고 값은 키에 해당하는 사용자가 선호하는 것을 나타내는 데이터이다.공유 사용자 기본값 객체에 그 키의 값을 요청한다.이것은 딕셔너리에서 객체를 가져오는 것과 다르지 않다. NSUserDefaults *de.. 2016. 3. 27.
[iOS Study] 웹 서비스와 UIWebView [iOS Study] 웹 서비스와 UIWebView 출처 : 아론 힐리가스의 iOS 프로그래밍 -NSURL URL 포맷에 웹 프로그램의 위치를 담고 있다. URL 은 여러 웹 서비스를 위해 기본 주소, 통신하고 있는 웹 프로그램, 전달 인자로 구성된다. https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/ -NSURLRequest 웹 서버와 통신할 때 필요한 모든 데이터를 가진다. NSURL 객체와 캐시 정책, 웹 서버의 응답 제한 시간, HTTP 프로토콜을 통해 전달되는 추가 데이터 등을 가진다. NSMutableURLRequest 는 NSURLRequest 의 변경 가능한 .. 2016. 3. 15.
[iOS Study] 저장, 읽기, 앱 상태 [iOS Study] 저장, 읽기, 앱 상태 출처 : 아론 힐리가스의 iOS 프로그래밍 -여기서는 iOS 에서 파일 시스템을 통해 읽고 쓰는 데 필요한 개념과 기법을 배운다. -아카이빙은 iOS 에서 모델 객체를 저장하는 가장 흔한 방법 중 하나이다.객체의 아카이빙은 그 객체의 프로퍼티들을 모두 기록하고 파일시스템에 그 내용을 저장하는 것을 포함한다.언아카이빙(unarchiving)은 아카이브한 데이터로부터 객체를 다시 만든다. -인스턴스들을 아카이브하고 언아카이브해야 할 클래스들은 NSCoding 프로토콜을 반드시 따라야 하며, 두 필수 메소드 encodeWithCoder: 와 initWithCoder: 를 구현해야 한다. -encodeWithCoder: 메시지를 받으면, 전달된 인자인 NSCoder .. 2016. 3. 7.
[iOS Study] 오토 레이아웃 : 프로그래밍으로 제약조건 만들기 [iOS Study] 오토 레이아웃 : 프로그래밍으로 제약조건 만들기 출처 : 아론 힐리가스의 iOS 프로그래밍 -애플은 가능한 한 XIB 파일에서 뷰를 만들고 제한하는 것을 추천한다.하지만 코드로 뷰를 만들면 프로그래밍으로 제약 조건을 적용해야 한다. -프로그래밍으로 뷰를 만들기 위해서는 loadView 메소드를 재정의한다.NIB 파일을 로드하여 만들어진 뷰 계층구조에 뷰를 추가하고 제한하려면 viewDidLoad 메소드를 재정의한다. -변환 제약조건(translated constraints)에 관한 코드는 예전 시스템 인터페이스인 오토리사이징 마스크(autoresizing mask)와 함께 동작해야만 한다.iOS 앱은 오토 레이아웃이 도입되기 전에 여러 크기의 화면에 따라 뷰를 조절하기 위해 오토리사.. 2016. 3. 4.
[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 프로그램 -UIImageView 는 contentMode 프로퍼티에 따라 이미지를 표시한다.이 프로퍼티는 이미지뷰의 프레임 안에서 이미지를 어디에 위치시키고 어떻게 크기를 조절할지를 결정한다.UIImageView 에서 contentMode 의 기본값은 UIViewContentModeScaleToFill 이다.이 값은 이미지 크기를 이미지뷰의 bounds 와 정확히 일치하게 조절한다. 이미지가 원본과 같은 종횡비로 표시되도록 하려면 Aspect Fit 으로 설정해야 한다. -소스 파일을 옵션 - 클릭 하면 보조 편집기로 소스가 열린다. -xib 에서 소스파일로 컨트롤 - 드래그 하면 바로 IBOutlet 이나 IBAction 을 연결할 수 있다... 2016. 2. 23.
Objective-C 고급 ( Advanced Objective-C ) Objective-C 고급 ( Advanced Objective-C ) 출처 : http://www.tutorialspoint.com/objective_c/objective_c_classes_objects.htm > - class 는 @interface 와 @implementation 의 두 파트로 나뉘어 정의된다. - 대부분이 objects 를 상속한다. - objects 는 메세지를 받기 때문에 receiver 로 불리기도 한다. - Properties 는 다른 class 에서의 access 를 접근하도록 도와준다. - ex) @interface Box:NSObject { double length; double breadth; } @property(nonatomic, readwrite) double .. 2015. 6. 18.
반응형