从NSDictionary中提取数字

时间:2012-09-06 08:48:27

标签: objective-c nsdictionary

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

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

当我告知代表时,我有这样的通知:

NSDictionary *userInfo = notification.userInfo;

我可以登录并查看确定。

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

因此,从委托中提取userInfo中的数字是我的问题。 感谢。

3 个答案:

答案 0 :(得分:1)

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

希望它有效......

答案 1 :(得分:1)

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

或将密钥传递给另一个类。

答案 2 :(得分:0)

你不能只#import包含kTimerNameKey定义的“YourOtherClass.h”吗?

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

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

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

-(void)myReceivingMethod:(NSNotification *)notification
{
    NSNumber *receivedNumber = (NSNumber *)[notification object];
}