簡體   English   中英

將NSDictionary值轉換為NSString

[英]Convert a NSDictionary value to a NSString

我想將我的字典的值轉換為字符串。 我的代碼:

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];

就像你看到我想用我的dictionnary值設置標簽的文本。 當我這樣做時,我有一個錯誤:

[__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];
NSString *nomberService=[[[services objectForKey:[keys objectAtIndex: i]] objectForKey:@"Nomber"] stringValue];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM