2016-06-20 26 views
0

在我看到的每個教程都跟蹤提交的用戶數據時,表視圖/集合視圖與數組+ indexPath.row一起使用以跟蹤哪個帖子是哪個。保持跟蹤不在表格視圖中的數據?

我正在開發一個應用程序,其中多個用戶可以發佈帖子,但不是桌面視圖,我希望帖子可以包含在可以隨意在屏幕上移動的按鈕中。

我不知道如何跟蹤哪些帖子是在結構化tableview之外的索引匹配的地方。

我正在使用firebase作爲後端,所以理想情況下,當用戶點擊一個帖子按鈕時,它會加載相應的帖子..通常會通過抓取indexpath.row離開保存的數組從firebase。我有一個使用tableviews的工作應用程序,所以我絕對不會問如何從Firebase或任何其他地方檢索數據,但更多的是如何轉換到按鈕概念。

因此,基本上,當他們不是列表格式時,如何跟蹤屏幕上的帖子或「事物」?這類事情在遊戲中似乎一直都在進行着......但我不確定如何將這種相同的邏輯應用到非遊戲應用中。

回答

0

正如你所說,表視圖提供了一個框架,其中每個單元格作爲「地址」(indexPath),並且查找單元格的數據很簡單。

如果你要有一個自由浮動的按鈕,那麼你的負擔是想出一個方案來跟蹤哪一個是哪個。

一個簡單的方法是在按鈕上設置標籤屬性,然後在按鈕的IBAction中查詢標籤值並將其用作數據的索引。 (注意,你不應該使用標籤0作爲一個標籤作爲索引,因爲0是「這個字段沒有標籤」的值,在這種情況下,我通常給標籤值加上一些固定值,比如100,然後在使用它作爲數組索引之前,從標籤中減去該值。

0

UI元素有一個.tag屬性,您可以使用它來跟蹤它們。無論您最終要使用哪種系統都應該具有鍵值對就像按鈕的鍵值:IndexPath,value:UITableViewCell。

由於您的項目是在一個數組,你可以讓數組中的索引對應一個按鈕。

因此,創建一個與您的數據數組大小相同的按鈕的NSArray。實例化這些按鈕,以便它們出現在屏幕上,並具有您所需的視覺屬性。當用戶選擇一個按鈕時,檢查該按鈕的標籤,該標籤對應於您要讀出的數據數組的索引。

0

我會將所有按鈕存儲在某個集合中,但它不會使用集合索引。

我創建了一個新的類,它引用了一個模型對象和一些函數來爲視圖和處理程序提供交互(視圖模型)的顯示細節,並將其中的一個提供給每個按鈕。那麼你不需要擔心索引,因爲你已經引用了相應的信息。