0

我正在使用 NSNmuber- number(用于警报)设置字典:

#define kTimerNameKey @"kTimerNameKey"
 NSDictionary *userInfo = [NSDictionary dictionaryWithObject:number forKey:kTimerNameKey];

当我收到代表通知时,我有这个:

NSDictionary *userInfo = notification.userInfo;

我可以记录它,看看它没问题。

我的问题是,我如何从中提取userInfo钥匙的号码?如果我使用objectForKey:kTimerNameKey,他不知道这个键(它在另一个类中)

所以,从 userInfo 中提取代表的数字是我的问题。谢谢。

4

3 回答 3

1
for (NSString* key in userInfo)
{
    int value = [[userInfo objectForKey:key] intValue];
}  

或将密钥传递给另一个班级。

于 2012-09-06T08:55:42.263 回答
1

尝试将此类转换为 int,例如 [[userinfo objectForKey:kTimerNameKey] intValue];

希望它有效...

于 2012-09-06T08:52:16.667 回答
0

难道你不能只包含 kTimerNameKey 定义的 #import "YourOtherClass.h" 吗?

否则,如果您使用 NSNotification 发布通知,则可以传递数字的值:

[[NSNotificationCenter defaultCenter] postNotificationName:@"notif_sendNumber" Object:myNumber];

然后在你的接收班,你可以去:

-(void)myReceivingMethod:(NSNotification *)notification
{
    NSNumber *receivedNumber = (NSNumber *)[notification object];
}
于 2012-09-06T08:55:39.993 回答