См. обновление ниже.
Я пишу твик и использую AppList. Я подключаюсь к центру внимания и создаю таблицу из всех установленных приложений. Я пытаюсь использовать источник данных для получения информации (идентификатор дисплея и т. д.). Проблема в том, что если dataSource определен... Я получаю следующую ошибку:
SpringBoard[1622] <Warning>: *** Assertion failure in -[NSIndexPath row], /SourceCache/UIKit/UIKit-2380.17/UITableViewSupport.m:2680
SpringBoard[1622] <Warning>: ***** AltKeyboard Uncaught Exception: Invalid index path for use with UITableView. Index paths passed to table view must contain exactly two indices specifying the section and row. Please use the category on NSIndexPath in UITableView.h if possible. *****
or
SpringBoard[1890] <Warning>: ***** AltKeyboard Uncaught Exception: *** -[__NSArrayM objectAtIndex:]: index 2 beyond bounds [0 .. 1] *****
SpringBoard[1890] <Error>: *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 2 beyond bounds [0 .. 1]'
*** First throw call stack:
Если dataSource не определен и я использую поддельные данные (имя теста), таблица создается нормально. Когда я печатаю источник данных, в нем есть только два элемента.
Райан Петрич в IRC, казалось, предположил, что я все делаю совершенно неправильно, но после этого мало чем помог. Может быть, я неправильно решаю эту задачу?
Код: http://pastebin.ca/2457626
Репозиторий: https://github.com/twodayslate/ListLauncher
изменить/обновить! dataSource вызывает у меня проблемы. Он не извлекает одинаковое количество приложений, и поэтому я получаю ошибки индекса и тому подобное. У меня более 200 приложений, но dataSource извлекает только 2.
Следующий код не выдает ошибок, а отображает только 2 элемента: http://pastebin.ca/2458961
редактировать! Я изменил его, поэтому я просто использую ALApplicationList. Я могу получить все перечисленные приложения. Однако, когда я пытаюсь прокрутить таблицу, она вылетает. Сортировка и создание списка очень медленные, поэтому я считаю, что это может быть причиной проблемы. Я не профессионал в obj-c, поэтому я уверен, что есть лучший способ, чем то, что я делаю. http://pastebin.ca/2459318
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:1 inSection:s];
по-прежнему дает мне pastebin.ca/2457632 - person twodayslate   schedule 24.09.2013