Часть 1: определение заголовка
parsedDetails
- это NSMutableArray
в вашем коде.
Затем вы используете KVC (Key-Value Coding) метод valueForKey
в этом массиве.
Но это возвращает новый массив.Что происходит там: значение свойства title
для каждого элемента в исходном массиве (parsedDetails
) вставляется как новый элемент в новый массив, который в итоге возвращается как массив.
Из-за вашегокомментарий выше:
NSLog(@"%@",[parsedDetails valueForKey:@"title"]);
дает возвращаемое значение (массив с одной строкой):
("About")
Но что вам на самом деле нужно, так это элемент title первой записи, так что скореекак это:
Detail *detail = parsedDetails.firstObject;
if (detail) {
title = [detail title];
} else {
title = @"default empty title";
}
Или, если вы предпочитаете вариант KVC:
id detail = parsedDetails.firstObject;
if (detail) {
title = [detail valueForKey:@"title"];
} else {
title = @"default empty title";
}
Часть 2: Обновление метки
НасколькоЯ понимаю ваши комментарии, у вас есть свойство NSString
с именем titleText
?Предположительно определяется так:
@property (nonatomic, strong) IBOutlet NSString *titleText;
А у вас также есть где-нибудь UILabel
розетка?
@property (weak, nonatomic) IBOutlet UILabel *label;
Если вы просто обновите локальную строку, она не будет отражена в пользовательском интерфейсе.Вам еще нужно перенести его на этикетку.
Это будет выглядеть так:
self.label.text = self.titleText;