2013-11-25 60 views
3

嗯,我真的需要一些幫助
我有一個搜索視圖,當用戶單擊單元格(基本上是一個遊戲)遊戲視圖。 Atm我沒有使用任何異步的東西,所以當遊戲視圖加載時,應用程序在點擊單元格後會在搜索視圖中掛起2-3秒(因爲遊戲視圖的viewDidLoad方法從Web API加載所有數據)顯示活動指標,同時改變視圖(賽格)和加載數據的下一個視圖(API)

我想要做的是當用戶點擊searchView中的遊戲時,gameView立即顯示空白視圖和活動指示器,同時數據從API中獲取。
一旦數據被提取,gameView(它是一個tableView btw)重新加載數據並相應地從提取的數據中顯示它。

如果它作出任何差異。我爲gameView使用靜態單元,因此不使用cellAtRowIndex代碼。

我附上了我的一些方法圖像我想按我的SO上搜索AFNetworking,異步等等等等

表IB元素從數據在一個單獨的功能showGame填補,我是用在rowsForSection中調用此函數,因爲表將在塊完成後重新加載。對不起,但我不確定什麼是重新加載表格或顯示數據的最佳方式。

Atm我的應用程序向我展示了我在界面生成器中創建的默認靜態內容(並且只有1行)。 AKA表格沒有被更新。我使用斷點來檢查和是的showGame獲取正確的數據,將正確的數據傳遞給IB元素。即使執行達到代碼返回5/6行但實際的應用程序/視圖沒有正確更新的點。

the function to fetch the game from my API and store it in a property array

The table IB elements are filled from data in a separate function showGame, I am calling this function in rowsForSection since table will be reloaded after block completion.


對於那些誰想要引擎收錄的文字代碼,那就是:

.m文件,其中異步代碼從API獲取遊戲
http://pastebin.com/p2FETbku

.m我的gameView類/ tableView文件顯示錶視圖和數據,這個文件也有showGame方法來顯示從上面的類獲取
http://pastebin.com/cWtSKPw0

請原諒我的代碼或任何小的失誤遊戲數據,我仍然在學習階段剛開始3周前。


靜態細胞,我是用以前異步方法,在某種程度上它的過程中不被弄亂了/那reloaddata後

+0

複製和粘貼代碼會更好,而不是代碼的圖像。另外,清楚哪些代碼塊在哪個控制器中。 – rdelmar

+0

@rdelmar添加了pastebin文本代碼,希望控制器可以通過上面的代碼片段AFAIK理解,靜態表格視圖就是這樣 - 靜態的。我不認爲你可以改變行或部分的數量(只有你在IB中創建的單元格中的內容)。你不應該實現任何數據源方法,比如numberOfRowsInSection。您可能需要使用具有動態原型單元格的表格。 – vongolashu

+0

erm我需要動態控制rowsinsection,甚至在靜態它可以工作:我沒有使用這個異步的東西,並且工作得很好(正如我在文章中提到的那樣),我早期使用它 – vongolashu

回答

0

有一點,我認爲你缺少工作的罰款是這種說法

的執行
GDgameViewController *gdv = [[GDgameViewController alloc] init]; 

不會返回tableViewController,因此不會返回當前顯示的tableView。

所以在你的函數+(void) fetchGame:(NSString *)gid你正在重新加載的是沒有呈現的tableView。
爲了進一步幫助您,我爲您創建了一個項目,它使用了不同的方法來完成您的工作,但它的效果最佳。你可以找到項目here。如果你不知道如何使用gitHub,不要擔心只需下載zip文件Image Showing From Where。請將此計爲

+0

ofc我知道如何使用git atleast:/我今天會測試你的演示代碼,並讓你知道它是我想要做還是幫助我,感謝詳細的示例代碼 – vongolashu

+0

希望它可以幫助你。 – aMother

+0

@vongolashu幫助你嗎?讓我知道,如果項目 – aMother

相關問題