我有一個選項卡式應用程序,它捕獲數據,使用NSUserDefaults存儲數據,並在包含在UIViewController中的表中顯示讀數。我正在使用標籤視圖控制器和數據視圖之間的導航控制器。數據視圖然後連接到作爲子視圖控制器的歷史視圖控制器。歷史也有一張桌子。UINavigationController不傳輸數據
當您在歷史視圖中按下一行時,應用程序應該轉換回數據視圖並顯示歷史記錄的讀數。這是通過使數據成爲第一個NSUserDefault,然後在數據視圖中顯示來完成的。我正在使用的轉換是
[self.navigationController popToRootViewControllerAnimated:YES];
成功轉換回數據視圖,但它不會更改視圖中的數據。但是,當我刪除該代碼並按下該行然後再按回時,讀數會發生變化。如何在按下該行時更改讀數?
你需要給你的控制器結構,你寫在第一段是混亂的一個更好的描述。另外,使用NSUserDefaults作爲在控制器之間傳輸數據的方式並不是它們設計的目的。你可能應該使用委派。 – rdelmar
更新 - 我只注意到,從historyView加載dataView時,數據確實會改變,但只有在向下滾動表格並滾動回來之後 –