2010-05-14 64 views
2

如何將NSNotification中的對象轉換爲整數和字符串?當我將通知記錄到控制檯時,我得到...從NSNotification的對象中投射值

NSConcreteNotification 0x20af70 {name = kMessageCountNotification;對象= 1}

但是,當我一個UILabel的文本值設置爲值,我得到一流的72855952

+1

你究竟想要做什麼,或者你需要發生什麼?你能顯示一些代碼嗎? – DyingCactus 2010-05-14 22:18:19

+0

[self.tabBarItem setBadgeValue:[NSString stringWithFormat:@「%d」,note.object]]; note是一個NSNotification – 2010-05-14 22:21:26

回答

3

文件已發送該通知應包含的信息是什麼類型的通知,這是什麼是和發送它的對象。

您可以訪問使用object方法發送對象:

ClassOfObjectSent *obj = [notification_you_have_received object]; 

請注意,這是一個指向對象,而不是標量值。如果對象是NSNumber,你可以得到int這樣:

int i = [obj intValue]; 

如果它是一個NSString,你可以直接使用它,或者 - 安全 - 創建自己的複印件(如果你使用可可觸摸或建立非GC Mac應用程序,你將不得不復制release)。

NSString *txt = [obj copy]; 
+0

如果您的目標系統沒有垃圾回收,或者構建支持但不需要垃圾回收的應用程序擴展,那麼您還必須「釋放」副本。 – dreamlax 2010-05-15 00:25:58