2010-10-14 79 views
0

我正在製作應用程序,在其中列出要顯示的國家/地區。當第一次運行應用程序時,用戶選擇no。的國家。我將該列表存儲在nsuser defaults中。我想在應用程序第二次再次運行時在TableView中勾選這些國家/地區。表格視圖中的某些單元格應該勾選?

還有一個問題是,當我滾動TableView並再次到達上一個位置時,複選標記不顯示。爲什麼會發生?

回答

0

發生這種情況是因爲表格單元格被重用,因此當您向上滾動時,它們將被下面的數據清除並重新使用,當您再次上移時,所有的事情都會再次發生。

關於第二次再次檢查。 只需將該行的索引存儲在NSUserDefault中,並將cellForRowAtIndexPath中的條件存儲在索引匹配時將其保留爲Checked。

希望這有助於..

編碼快樂......

+0

這是個不好的建議。不要重複使用單元格,我們希望平滑滾動。 – 2010-10-14 06:50:44

+0

我知道Johan dats爲什麼我只在這條線下面回答他的問題。我知道dat可重用單元格是唯一可取的事情,但我們必須知道如何打破所有的東西。所以我的cellidentifier行只是爲了知識而不是實現。 downvote仍然coz我最終刪除它。感謝您的建議 – 2010-10-14 07:15:41

1

-tableView:cellForRowAtIndexPath:你應該設置羯羊或不復選標記應根據內部模型顯示(在你的情況下,來自NSUserDefaults)。在tableView:didSelectRowAtIndexPath:中,不要簡單地將複選標記顯示在單元格中,而是存儲在內部模型中。這樣,當一個單元格再次顯示時,它會正確顯示。

相關問題