2010-05-14 3 views
2

NSNotification의 객체를 정수 및 문자열로 캐스팅하려면 어떻게해야합니까? 콘솔에 알림을 로그하면 다음과 같이 표시됩니다.NSNotification 객체의 캐스트 값

NSConcreteNotification 0x20af70 {name = kMessageCountNotification; 개체 = 1}

하지만 그 값에 UILabel의 텍스트 값을 설정하는 경우,이 통지는 통지의 유형이이고 무엇을합니까 정보를 포함해야 보낸 클래스의 72,855,952

+1

정확히 무엇을하려고합니까? 아니면 무엇이 필요합니까? 몇 가지 코드를 보여줄 수 있습니까? – DyingCactus

+0

[self.tabBarItem setBadgeValue : [NSString stringWithFormat : @ "% d", note.object]]; note NSNotification –

답변

3

문서를 얻을 수 그 물건을 보내라.

당신은 object 방법을 사용하여 전송 된 개체에 액세스 할 수 : 객체가 아닌 스칼라 값에 대한 포인터입니다

ClassOfObjectSent *obj = [notification_you_have_received object]; 

하는 것으로. 객체가 NSNumber 경우, 당신은 int이 방법으로 얻을 수 있습니다 : 그것은 NSString 당신이 직접 사용할 수의 경우 또는

int i = [obj intValue]; 

를 - 안전 - 당신은 코코아 터치를 사용하거나 비 GC 맥 응용 프로그램을 구축 할 경우 (자신의 복사본을 생성, 당신은 사본을 release해야합니다).

NSString *txt = [obj copy]; 
+0

가비지 수집을하지 않고 시스템을 대상으로하거나 가비지 수집을 지원하지만 추가 필요가없는 응용 프로그램 확장을 작성하는 경우 사본을 '릴리스'해야합니다. – dreamlax