我正在尋找一種方法來唯一標識UITableViewCells的實例,即使它們已經通過DequeueReusableCell(string identifier)再循環(出列)後 - 沒有子類化或使用容器對象。UITableViewCell唯一標識符?
所以基本上,當我創建一個新的單元格時,我想使用這個單元格的唯一標識符作爲在字典中存儲另一個相關對象的鍵。之後,當細胞被回收/出列時,我想閱讀字典中的相關反對詞。 我完全意識到再循環單元可以放置在表中的任何索引路徑處,並且可能(很可能)包含比以前更多的其他數據 - 另一個對象實際上與單元實例相關,而不是索引路徑。
必須避免與物體的鬆動關係。獲得的ID必須不惜一切代價與創建單元格時使用的相同。
這是通過生成一個隨機數並將其作爲單元格的標記存儲來實現的。但是,這些標籤可能會發生碰撞(當兩次產生相同的隨機數時),我只想實現避免碰撞作爲最後的手段。所以我正在尋找更好的方法。
我看過ClassHandle,Handle和SuperHandle屬性。唯一一個在排隊中保持一致的人似乎是ClassHandle。
爲此目的使用ClassHandle屬性是否安全?如果不是,還有什麼其他選擇?
出於好奇,是否有一個特別的原因,你不想子類UITableViewCell?這樣做很可能會使應用程序複雜得多,因爲您可以直接在單元中存儲任何類型的引用,而無需擔心。我們創建了一個非常簡單的繼承類,它有一個非常靈活的Object標籤,並且適用於我們迄今爲止所面對的每種場景。 –
Android和iOS版本的應用程序當前都使用字典爲每個單元存儲一個附加對象(如果需要)。我只想保持一致。 – riha