본문 바로가기
[ios/design pattern] private 메서드 정의하기 [ios/design pattern] private 메서드 정의하기 -Objective-C 은 public/private 같은 접근제어하는 것이 없음.다시 이야기하자면 모든 method 가 사실 public 이다. -.m 파일의 implemetation 에서만 함수를 정의해서 사용하는 것은 private 으로 여길 수 있겠지만,.h 에 선언되어 있지 않기 때문에 warning 이 표시된다. ( 실제로는 option 에 따라 warning 이 표시 안 되기도 )( iOS 는 동적 언어라 compile 은 되고 실행도 되긴 한다. ) -이를 해결하기 위해서는 Private 전용 Category 를 만들고,모든 private method 에는 p_ 접두어를 붙이는 것으로 해결할 수 있다.// .m 파일@int.. 2017. 10. 23.
[Objective-C] Class Extension 으로 delegate 정의하기 [Objective-C] Class Extension 으로 delegate 정의하기 -header 파일에 delegate 를 표시하는 것은 확장성 측면에서 좋지 않을 수 있다.그래서 꼭 header 파일에 delegate 가 들어갈 이유가 없다면 다음과 같이 Class extension 을 사용하면 된다. // implementation file@interface SomeClass() @end @implementation SomeClass @end -위의 방법으로 @interface 를 재정의하는 것을 class extension 이라고 하는데,저 부분에 들어가는 내용들은 private access level 이라고 보면 된다.저 안에 정의된 것들은 해당 클래스 내부에서만 사용할 수 있다. 꼭 deleg.. 2017. 7. 19.
[iOS Study] 델리게이션과 텍스트 입력 [iOS Study] 델리게이션과 텍스트 입력 출처 : 아론 힐리가스의 iOS 프로그래밍 -UITextField 인스턴스는 사용자가 텍스트를 수정할 수 있게 해준다. -UIResponder 는 UIKit 프레임워크에 존재하는 추상 클래스이다.다음 세 클래스는 UIResponder 의 하위 클래스이다. UIView, UIViewController, UIApplication UIResponse 는 이벤트를 제어하는 메소드들을 정의한다.이벤트에는 터치 이벤트, 흔들기와 같은 모션 이벤트, 재생/정지와 같은 원격 제어 이벤트 등이 있다.하위 클래스들은 이런 이벤트에 응답하기 위해 각각에 따라 이들 메소드를 재정의한다. -UIWindow 는 다른 이벤트들에 응답할 객체를 가리키는 퍼스트 리스폰더 (first re.. 2016. 2. 19.
반응형