我想要做的是当用户在searchView中点击游戏时,gameView会立即显示一个空白视图和一个活动指示器,同时数据从API获取。
一旦获取了数据,gameView(这是一个tableView btw)重新加载数据并相应地从获取的数据中显示它。
如果它有任何差异。我正在为gameView使用静态单元格,因此不使用cellAtRowIndex代码。
我已经附加了一些我尝试使用的方法的图像,因为我在搜索AF以进行AFNetworking,async等等。
表IB元素是从一个单独的函数showGame中填充的,我在rowsForSection中调用此函数,因为在块完成后将重新加载表。对不起,但我不确定什么是重新加载表或更确切地显示数据的最佳方法。
Atm我的应用程序向我展示了我在界面构建器中创建的默认静态内容(并且只有1行)。 AKA表格没有更新。我使用断点来检查,是的,showGame正在获取正确的数据,将正确的数据传递给IB元素。即使执行到达代码中的点也会返回5/6行,但实际的app / view没有正确更新。
对于那些想要使用pastebin文本代码的人来说,这里是:
.m文件,其中从API获取游戏的异步代码为
http://pastebin.com/p2FETbku
请原谅我的代码或任何小错误,我仍处于学习阶段,并且刚刚在3周前开始。
静态单元在我使用异步方法之前工作正常,不知怎的,它在reloaddata期间/之后搞砸了
答案 0 :(得分:0)
我认为您缺少的一点是执行此声明
GDgameViewController *gdv = [[GDgameViewController alloc] init];
不返回tableViewController,因此返回当前显示的tableView。
因此,在您的函数+(void) fetchGame:(NSString *)gid
中,您正在重新加载的是未显示的tableView
为了进一步帮助您,我为您创建了一个项目,它使用了一种不同的方法来完成您的工作,但它以最佳方式完成。您可以找到项目here。如果您不知道如何使用gitHub,请不要担心只需下载zip文件。请将此计为