从NSNotification的对象中转换值

时间:2010-05-14 22:06:19

标签: objective-c

如何将NSNotification中的对象转换为整数和字符串?当我将通知记录到控制台时,我得到了......

NSConcreteNotification 0x20af70 {name = kMessageCountNotification; object = 1}

但是当我将UILabel的文本值设置为该值时,我得到72855952

1 个答案:

答案 0 :(得分:3)

发送此通知的类的文档应包含此通知的类型以及它在其对象中发送的内容的信息。

您可以使用object方法访问发送的对象:

ClassOfObjectSent *obj = [notification_you_have_received object];

请注意,它是指向对象的指针,而不是标量值。如果对象为NSNumber,您可以通过以下方式获取int

int i = [obj intValue];

如果它是NSString你可以直接使用它或者更安全 - 创建你自己的副本(如果你使用Cocoa Touch或构建非GC Mac应用程序,你必须release副本)。

NSString *txt = [obj copy];