2010-04-25 40 views
1

我試圖把與名爲「持續時間」的鍵相關聯的值放入UILabel,但我在UILabel中得到一個空白或「(null)」結果。NSString從NSDictionary鍵進入UILabel時遇到困難

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; 

.. 。等等。

這裏就是我試圖把NSStringUILabel代碼:

cell.durationLabel.text = [NSString stringWithFormat:@"%@",[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]]; 

我也試着從創建密鑰的配對值的字符串,看看使用太一「(空)」值或空白。

我錯過了什麼?我認爲這是與字符串格式的東西。感謝您的期待!

+0

你在哪裏設置文本設置就行了斷點。在控制檯的gdb提示符處,輸入po [thisRecordingsStats objectForKey:@「duration」]。你看到了什麼? – cduhn 2010-04-25 18:09:06

+0

當我輸入: PO [thisRecordingsStats objectForKey:@ 「持續時間」] 或嘗試下面的建議答案時: PO [統計objectForKey:@ 「持續時間」] 我看到:在地址0x0 – Brian 2010-04-25 19:16:15

+0

卻不能訪問內存現在我在那裏看到我的絃樂。謝謝你,雖然下面的答案試圖嵌套一個動態的關鍵是截斷的文件名日期鍵... – Brian 2010-04-25 19:33:03

回答

2

我可能偷步一點,但您的日誌輸出看你的NSDictionary設置了具有「上午12時48分25秒,4月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"]; 
+0

你是對的:我有一本填字典的字典,因爲我希望每個記錄的統計信息是可通過截斷日期的原始字符串訪問。現在看來我的問題是在插入基於每個字典的日期鍵的動態密鑰的代碼中。現在我有這樣的返回錯誤:\t NSDictionary * stats = [thisRecordingsStats objectForKey:@「%@」,[[self。fileList objectAtIndex:[indexPath row] lastPathComponent] stringByDeletingPathExtension]];但我會提出這個新問題。謝謝你的時間。 – Brian 2010-04-25 19:49:52