ios - 将 NSDictionary 值转换为 NSString

标签 ios nsdictionary

我想将我的字典的值转换成字符串。 我的代码:

NSArray *keys=[services allKeys];
yourLabel = [[UILabel alloc] initWithFrame:CGRectMake(146, (i*height_between_cells)+44, 40, 25)];
    NSString *nomber = (NSString *)[[services objectForKey:[keys objectAtIndex: i]] objectForKey:@"Nomber"];
    //NSString *nomberService=[[services objectForKey:[keys objectAtIndex: i]] objectForKey:@"Nomber"];
    [yourLabel setText:nomber];
    [recapView addSubview:yourLabel];

如您所见,我想用我的字典值设置标签的文本。 当我这样做时出现错误:

[__NSCFNumber length]: unrecognized selector sent to instance 0x14d57fd0

你有想法吗?

最佳答案

错误是因为您假设 [[services objectForKey:[keys objectAtIndex: i]] objectForKey:@"Nomber"]; 的结果给了您一个 NSString 但它实际上是给你一个 NSNumber

使用强制转换只会让编译器开心。它实际上并没有转换任何东西。

尝试这样的事情:

NSNumber *nomber = [[services objectForKey:[keys objectAtIndex: i]] objectForKey:@"Nomber"];
[yourLabel setText:[nomber stringValue]];

或者使用现代语法你可以这样做:

NSNumber *nomber = services[keys[i]][@"Number"];
yourLabel.text = [nomber stringValue];

关于ios - 将 NSDictionary 值转换为 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21938884/

相关文章:

ios - 收到错误 "ReactiveCocoa/ReactiveCocoa.h"找不到文件

objective-c - NSDictionary 访问值快捷方式

ios - 我如何知道用户是否收到了 privatepub gem 发送的推送通知

iphone - NSDictionary 的字节大小

ios - 为什么从 pList 加载 NSArray 会将我的数组变成 NSDictionary?

iphone - 如何解析 XML 的多个属性?

ios - 当我有多个 iOS 部分时从 UITableView 中删除行(值在 Dynamic NSMutableDictionary 中)

ios - 通过 2 个模态 segues 传递一个字符串

ios - 向 iOS 添加新日历

ios - TableView未加载iPhone模拟器中的所有记录