NSNotification
을 사용하는 프로그램을 만들고 있는데 다른 클래스의 변수 값에 영향을 미치는 다른 클래스에서 정보를 전달할 수 있기를 원합니다.NSNotification - 다른 클래스에서 전달되지 않는 정보
categories.m
클래스 :
viewDidLoad
에서 : 같은 클래스에서
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateTheScore:)name:@"TheScore" object:nil];
, 내 updateTheScore
기능 :
- (void)updateTheScore:(NSNotification *)notification
{
NSLog(@"Notification Received. The value of the score is currently %d", self.mainScreen.currentScore);
[[NSNotificationCenter defaultCenter]removeObserver:self];
}
그래서, 나는 다음과 같은 설정 한
있음 mainScreen.m
: 일반적인 인스턴스
self.currentScore++;
[[NSNotificationCenter defaultCenter]postNotificationName:@"TheScore" object:self];
점수는 내 NSLog
이 수행되는 볼 수있는 프로그램이 올바르게 notification
를 호출합니다 0에서 1
으로 업데이트 할 것입니다. 그러나 변수의 값이 통과하지 못하고 이것이 내가 붙어있는 곳입니다.
누군가 내 변수 값이 전달되지 않는 이유에 대한 해결책을 생각해 볼 수 있습니까?
분명히하기 위해 postNotificationName
라인 바로 앞에 NSLog를 입력하면 self.currentScore;
의 값이 표시되어 예상대로 1을 반환합니다. updateTheScore
함수에서는 returns 0
입니다.
미리 감사드립니다.
처럼받을 수 있습니다 ... – NSDmitry