簡體   English   中英

從數組UITableView中選擇單元格

[英]Select cells from array UITableView

我有很多用戶

var selectedUsers = [User]()

用戶在UITableView中被選擇時被添加到該數組(請參見屏幕快照: https : //www.dropbox.com/s/uk03mhgi3x4jesy/File%2006-10-2015%2C%2018%2003%2044.png?dl = 0

我遇到的困難是當我按回然后重新加載視圖控制器時,所有復選標記都消失了。

無論如何,我可以跟蹤所選的單元格嗎?

提前致謝

您可以使用委托在兩個視圖控制器之間傳遞數組。 例如,每次選擇一行時,都可以將與該行關聯的userId存儲在數組中。 因此,如果您要后退然后使用UITableView打開視圖,則在加載UITableView之前,您可以先檢查是否有一個數組傳遞給包含UITableView的視圖控制器/如果有數組,請檢查計數大於0。如果數組不為空,則使用for循環在正在顯示的用戶數組中循環,並傳遞所包含的所有先前選定ID的數組,然后添加與ID匹配的復選標記在數組中。

這是一個擁有類似示例的教程: http : //makeapppie.com/2014/08/04/the-swift-swift-tutorial-why-do-we-need-delegates/

該問題的答案取決於您希望應用程序執行的操作...即使關閉了該應用程序,您是否也希望用戶選擇仍然存在? 如果是這樣,請考慮使用NSUserDefaults或CoreData。 否則,將數據存儲在不會被吹走的地方(也許是應用程序的根視圖控制器)。 例如,您可以使用表視圖在視圖控制器上實現委托模式,然后將值傳遞給容器視圖控制器。

因此,您可以使用NSUserDefaults類來保存少量數據。 如果要具有持久性存儲,則必須使用Core Data來幫助您使用提供的方案存儲數據。

如果您只想將數據從一個視圖控制器傳遞到另一個視圖控制器,則只需要使用委派模式,或者可以使用prepareForSegue方法,您也可以在其中傳遞一些數據,但不能以這種方式存儲,只需傳遞即可。

如果您使問題更詳細,您將獲得更明確的答案。

暫無
暫無

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

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