2010-07-25 110 views
1

我有一個UITableView有兩個部分,當我的應用程序啓動時它們都是空的。我的應用程序從URL獲取數據,然後將數據放入數組(每個部分一個),這些數據應該用於爲每個單元提供UITableView數據。如何刷新UITableView數據?

調用[tableView reloadData]似乎沒有刷新任何數據或調用任何委託方法。 (如請求的部分和行的數量等,雖然我不知道它是否實際上應該)
我使用自定義的UITableViewCells,如果有幫助。

我也嘗試刷新部分,並循環瀏覽數據將每個單元格添加到部分。似乎沒有任何工作。
我再次檢查,一切似乎是正確的,並且UITableView已在Interface Builder中正確連接。
我在我的應用程序(在其他選項卡)中有兩個其他表視圖,它們工作得很好,但它們都只有一個部分。

+0

它應該是。 作爲一個起點 - 當表視圖第一次加載時調用預期的委託方法? – 2010-07-25 03:07:41

+0

是的,他們是。不過,這是調用委託方法的唯一時間。 – ttarik 2010-07-25 04:16:25

回答

3

如果你在該行上放置一個斷點,並將鼠標懸停在「tableView」上,它是否表示內存地址是0x0?

+0

是的,它的確如此。我猜這是一件壞事......任何想法爲什麼會發生? – ttarik 2010-07-25 04:18:46

+0

是的......這意味着您所引用的「tableView」不是您嘗試連接到IB的tableView。嘗試這個;將你的outlet的名字從tableView更改爲myTableView(或其他),但不要將它命名爲類似於視圖控制器上已經存在的東西。把一切都備份到你最近命名的插座上(並確保你改變任何潛在的伊娃爾名字)...我敢打賭你會開始工作。 – Steve 2010-07-25 05:51:28

+0

不幸的是它沒有工作,它仍然返回null。我檢查了其中一個表視圖委託方法numberOfSectionsInTableView,並在其中調用正確的表視圖。然後不知何故,當我稍後引用該表視圖時,它是空的。 – ttarik 2010-07-25 06:15:02

1

檢查的幾件事情:

  1. 確保的tableView連接多達文件的所有者在IB
  2. 確保tableView.delegate =自
  3. 確保您的數據源其實有數據
+0

1.已經是 2.已經是 3.它確實存在,但是沒有調用方法來創建單元格 – ttarik 2010-07-25 05:28:10