簡體   English   中英

ios swift:重新加載tableView的方法是什么?

[英]ios swift: What is the apporach way to reload a tableView?

我使用帶有靜態單元格的tableView進行測驗游戲。

因此,我將所有問題排在一個數組中,並希望進行遍歷。

當用戶回答了一個問題后,我想在同一tableView向他顯示下一個問題。 因此,我需要將數據從tableView傳遞到“自身”,以更新問題計數器和其他一些東西,等等。

用戶具有“下一步”按鈕以轉到下一個問題。

你們建議我做什么?

self.tableView.reloadData()不能解決,因為我必須傳輸數據嗎? 必須是segue,還是?

我試圖讓按鈕“ next”作為IBAction對其本身執行監視,但是隨后發生的監視沒有執行IBAction中的代碼。

感謝您的任何想法!

編輯:

這些變量需要更新:

var totalCardsInt: Int = 0
var currentCardInt: Int = 0
var currentDisplayedCardInt: Int = 1

如果我正在使用self.tableView.reloadData()在什么時候我必須更新這些變量,以便在重新加載后對其進行更新?

抱歉...我只是有點迷路了...

您應該使用self.tableView.reloadData()重新加載表,但是在此之前,您應該修改數據源(用於用數據填充單元格的數組或字典),以便表在重新加載時加載新數據。

我不明白為什么不能使用self.tableView.reloadData() 單元格應反映您的控制器數據模型的內容。 因此,如果要顯示新的問題數據集,請將單元格的數據設置為新的問題集,然后重新加載。

如果您想擁有問題的歷史記錄,請給我們一個問題數組,並在當前問題的數組中使用索引。 使單元格使用問題索引來填充單元格視圖。 然后,您可以通過更改每次重新加載問題的索引來前進和后退。

我必須回答自己的問題-因為我的想法完全錯了...有時候睡個好覺是有道理的...

我可以使用tableView 我要做的就是以正確的順序獲取“時間軸”。 無需重新加載tableView我只需要清除靜態單元格並填寫新數據即可。

我認為將代碼粘貼到此處有點太多,但是總而言之,這是我的時間表:

  1. 將所有問題(及其答案)加載到數組中

  2. 將數據填寫到視圖中,例如 顯示問題和可能的答案

  3. 添加IBAction,證明答案並增加當前數組索引+1。 檢查當前==總計數,然后轉到最終視圖說“完成”

  4. 重新調用Nr.2以顯示下一個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM