2015-11-25 3 views
0

Я создал приложение, которое заполняет таблицу из данных JSON, которую я вытаскиваю из своего локального хоста. Я могу выполнить поиск этих данных с помощью панели поиска и добавил кнопку, чтобы добавить строки в другую таблицу, которую я использую в библиотеке для любимых объектов пользователей. Итак, теперь, когда я все это работаю, я пытаюсь создать подробное представление, которое, когда пользователь нажимает на строку в таблице, выводится на новый контроллер представления, а затем они могут просматривать полную информацию об объекте в виде строк в исходная таблица имеет только название и автора, указанные в каждой строке.- [__ NSCFDictionary Title]: непризнанный селектор, отправленный экземпляру

Я сделал SEGUE и создал контроллер представления ЭСТ и когда я пытаюсь заполнить несколько UILabel с на detaiViewController я получаю ошибку:

+1

Мое предположение? '[_papers objectAtIndex: self.listTableView.indexPathForSelectedRow.row]' является объектом NSDictionary', а не объектом 'Paper'. – Larme

+1

И есть очень хороший совет: - [__ NSCFDictionary Title]: непризнанный селектор, который вы получаете, если пытаетесь отправить сообщение Title: в NSDictionary :-) – gnasher729

+0

Почему вы используете атрибут «слабый», понимаете ли вы что оно делает ? –

ответ

0

Изменение:

self.Title.text = self.paper.Title; 

к:

self.Title.text = self.paper[@"Title"]; 

Использование awakeFromNib вместо viewDidLoad

+0

Это определенно кажется правильной идеей. Когда я набрал это в нем сразу, не будет строить высказывание «Ожидаемый метод для чтения словарного элемента, который не найден на объекте типа« Бумага » –

+0

Есть ли шанс, что вы можете дать фрагмент своего класса« Бумага »? –

+0

, которая должна быть дополнительной дополнительной информацией, сейчас я отредактировал вопрос –

0

Может быть, словарь для документов хранит другие NSDictionary, а не бумажный объект. Когда вы разбираете JSON, он будет разбираться с классом SDK iOS, таким как [] синтаксический анализ NSArray, "" анализировать на NSString, {} анализировать NSDictionary.

Итак, я думаю, ваш JSON проанализирует массив словаря. Он не может вернуть вам бумагу. Вы должны назначать значения в каждом словаре на один свой Бумага и помещать его в NSArray of Paper.

0

NSMutableArray * locations = [[NSMutableArray alloc] init];

_papers = [json objectForKey: @ "Papers"];

Вы заполняете массив местоположений от извлечения элементов из _papers. Фактически _papers содержит список NSDictionaries, и когда в prepareForsegue вы просто получаете элемент из _papers, который является словарем, поэтому поэтому он дает ошибку. Вы должны хранить этот массив местоположений и извлекать из него элементы, потому что вы разбираете json в бумагу в цикле и помещаете его в нужные места.

Смежные вопросы