KVO(Key-Value Observing)
특정 값을 감시하고 싶을때 사용한다.
KVO는 setter에 오버라이드 하는 방식으로 사용할 수 있다.
Notification
불특정 다수의 오브젝트에게 이벤트 전달.
여래개의 노티피케이션을 이름으로 구분.
각 클래스들은 자기들이 가지고 있는 Notification을 가지고 있다. 다음은 UIApplication의 Notification 이다. 여러 클래스들이 다양한 Notification을 보내주고 있다.
Notification은 다음과 같이 만들어서 등록 할 수 있다.
ARC(Automatic Reference Counting)
메모리 관리하는 방법으로 객체 참조자를 자동으로 관리해주는 방법이다. 이 기법을 사용하면 컴파일러가 자동으로 메모리를 릴리즈 해준다. alloc을 하고 retain, release을 해주지 않아도 된다. C library를 사용하는 경우 메모리 릴리즈를 해주지 않으므로 ARC를 사용하지 않는게 좋다.
strong 과 weak 의 개념이 추가 되었는데, weak의 경우 해당 pointer가 사라지면 nil을 가지게 된다. ARC를 사용할 경우 release를 사용할 수 없으므로 바로 nil을 할당하면 메모리를 반환할 수 있다.
Auto layout
leading과 trailing은 왼쪽과 오른쪽이 바뀌어 나올 수 있는데 이는 아랍권 처럼 글을 반대로 쓰는 국가들이 있기 때문이다.
Pin menu를 사용하여 뷰의 높이 너비, 다른 뷰와의 관계등을 설정 할 수 있다.
기본 원칙
기본적으로 핀이 박힌다고 보면 된다.
Add missing constrains는 쓸일 없음.
Ctrl-드래그 또는 visual layout tools를 이용한다.
misplacement: 현재 보이는걸 믿지 말자. (빨간색으로 보이는게 진짜 보이는 위치이고, 주황색은 차이를 보여준다.)
- Update Frames는 보이는걸 빨간색으로 변경, Update Constraints는 주황색으로 Constrains값을 변경
Conflict는 두개의 Constraints가 상충되는 경우 발생한다.
Ambiguity - 정의된 컨스트레인트들이 다양한 결과를 낳을 경우, 컨스트레인트가 부족한 경우, 커스텀 뷰의 intricsic size가 정의되지 않았을 때
'디지털 양피지 > iPhone Development' 카테고리의 다른 글
iPone App. 개발 기본 (2015.6) - 5일차 (0) | 2015.06.05 |
---|---|
iPone App. 개발 기본 (2015.6) - 3일차 (0) | 2015.06.03 |
iPone App. 개발 기본 (2015.6) - 2일차(오후) (0) | 2015.06.02 |
iPone App. 개발 기본 (2015.6) - 2일차(오전) (0) | 2015.06.02 |
iPone App. 개발 기본 (2015.6) - 1일차 (0) | 2015.06.01 |