请参阅下面的更新。
我正在编写一个调整并且正在使用 AppList。我正在关注聚光灯并为所有已安装的应用程序创建一个表格。我正在尝试使用 dataSource 来获取信息(显示标识符等)。问题是如果定义了 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. *****
或者
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 上的 Ryan Petrich 似乎暗示我做的一切都完全错误,但在那之后并没有太大帮助。也许我正在错误地解决这个问题?
代码: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