Проблема с получением NSString из ключа NSDictionary в UILabel - PullRequest
1 голос
/ 25 апреля 2010

Я пытаюсь поместить значение, связанное с ключом «длительность», в UILabel, но получаю пустой или «(нулевой)» результат, отображаемый в 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;

... и т. Д.

Вот код, в котором я пытаюсь поместить 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]];

Я также попытался создать строку из парного значения ключа и увидеть значение (пустое) или пробел, используя его тоже.

Что мне не хватает? Я предполагаю, что это что-то с форматированием строки. Спасибо за внимание !!

1 Ответ

2 голосов
/ 25 апреля 2010

Возможно, я немного прыгну, но, судя по вашему выводу журнала, ваш NSDictionary настроен как имеющий "12:48:25 AM, 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"];
...