1. notification (하나의 어플리케이션 안에는 하나의 노티피케이션센터만이 존재한다)
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(실행될함수명:)
name:@"전달할메시지"
object:nil ];
이렇게 선언해놓고 m파일에 실행될 함수를 만들자!!
-(void)실행될함수명:(NSNotification *)notification
{
실행될 로직.....
}
이제 어떤 변화가 일어 날경우 노티피케이션 센터에 메세지를 전달시켜줘서 노티피케이션이 실행되게끔 해야 한다.
[[NSNotificationCenter defaultCenter] postNotificationName:@"전달할메시지" object:self];
변경될 부분에 이렇게 메시지를 전달하면 노티피케이션에서 메시지를 받아서 실행될 함수를 실행한다.
끗.. 자주 쓰인다고함..
2. KVO (Key Value Observing) 키값 감시
델리게이트 app가 실행될때
[클레스 addObserver:self forKeyPath:@"감시할값"
options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld
context:nil];
이렇게 선언해준다.
그담 observer가 감지될때 실행할 함수를 등록한다. 함수명 자동완성이 안될땐 addObserver 도움말을 참조하자..
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object
change:(NSDictionary *)change context:(void *)context
{
if ([keyPath isEqualToString:@"감시할값"]) {
[self 실행될함수명];
}
}
'Develop > Objective-C' 카테고리의 다른 글
애플 리젝 사유 정리 - 계속 업데이트중.. (2) | 2011.02.07 |
---|---|
multipart/form-data POST 방식으로 파일 업로드 하기 (0) | 2011.02.07 |
JSON(JavaScript Object Notation) 으로 데이터 받기 (0) | 2011.02.07 |
ZXing 1.6 QRCodeReader for Iphone (4) | 2011.01.25 |
text field 에서 포커스가 나가면 키보드창 닫기 (0) | 2011.01.06 |
UIWebView 사용하기 (0) | 2011.01.06 |
배열 NSSet, NSArray, NSDictionary (0) | 2011.01.06 |
setter, getter 를 propery로 구현하기 (0) | 2011.01.06 |