无法从NSDictionary键获取NSString到UILabel

时间:2010-04-25 17:56:04

标签: iphone nsstring uilabel nsdictionary

我正在尝试将与名为“duration”的密钥相关联的值放入UILabel,但我在UILabel中显示空白或“(null)”结果。

我的NSDictionary对象及其键似乎记录为充满了我想要的数据和密钥,因此:

此RecordingsStats的内容为:

{
     "12:48:25 AM, April 25" = {
          FILEPATH = "/Users/brian/Library/Application  Support/iPhone  Simulator/3.1.3/Applications/97256A91-FC47-4353-AD01-15CD494060DD/Documents/12:48:25 AM, April 25.aif";  
    duration = "00:04"; 

applesCountString = 0;

......等等。

以下是我尝试将NSString放入UILabel的代码:

cell.durationLabel.text = [NSString stringWithFormat:@"%@",[thisRecordingsStats objectForKey:@"duration"]];

我也尝试过这些其他排列:

cell.durationLabel.text = [thisRecordingsStats objectForKey:@"duration"];

我也尝试过这种基于标签的方法:

label = (UILabel *)[cell viewWithTag:8];
 label.text = [[thisRecordingsStats objectForKey:@"duration"] objectAtIndex:1];

UILabel *label;
        label = (UILabel *)[cell viewWithTag:8];
         label.text = [NSString stringWithFormat:@"%@",[[thisRecordingsStats objectForKey:@"duration"] objectAtIndex:1]];

我还尝试从密钥的配对值创建一个字符串,并使用它来查看“(null)”值或空白。

我错过了什么?我假设它是字符串格式的东西。谢谢你的期待!!

1 个答案:

答案 0 :(得分:2)

我可能会稍稍跳一下枪但是从你的日志输出看起来你的NSDictionary被设置为“4月25日上午12:48:25”作为关键,另一个NSDictionary为其价值。

即。

"12:48:25 AM, April 25" => NSDictionary (
                              FILEPATH => (value)
                              duration => @"00:04"
                           )

您需要做的是: -

NSDictionary *stats = [thisRecordingsStats objectForKey:@"12:48:25 AM, April 25"];
cell.durationLabel.text = [stats objectForKey:@"duration"];