Swift on Xcode#10[UITableView-原生功能:編輯模式]

影山小麥機
Jul 31, 2021

接著要談可以滑動每一個表格裡的單元(cell),以及如何設定。

前言

在上一篇裡提到了比較簡單的UITabelView的創建,原則上這篇也是依照上一篇的作法下去執行,就可以接著下面的東西,我在參考資料中也有附上一些功能來供大家參考。

正文

承繼上篇的架構,我接著要啟動TableView的原生功能:

原則上,我會在extension下加上一些東西:如editingStyleForRowAt(這可以讓它變成紅色的delete按鈕)

然後我們接著要啟動的是讓tableView可以滑動,需要加上canMoveRowAt(可以滑動列)、canEditRowAt(可以編輯列)、moveRowAt(陣列的順序)、forRowAt(可以用原生方法刪除或新增)

不過這邊提醒讀者,由於我目前是用屬性觀察器去處理info的狀態,所以可能沒有辦法使用全面的原生方法刪除、新增tableView資料。

這邊要特別注意一件事:

資料陣列、tableView往往是兩件事情,假若你有用屬性觀察器觀察兩者,那也就意味著你在後面的資料增減上,是不能對tableView操作的,否則就會出現這樣的情形:

這個意思是在資料更新前,我們就已經刪除了info陣列的資料,現在tableView已經刷新它了,但程式碼之中還要我們再刪一次。這樣不行。

參考資料

原則上關於滑動的原始教材,可以參考Jeremy Xuey在這兩篇中的文章,唯一較為不同的邏輯是,我在這篇文章的資料儲存中,是以屬性觀察器didSet更新info陣列,所以只要我的info陣列有更動,tableView就會reloadData(),進而讓表格更新。

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

影山小麥機
影山小麥機

Written by 影山小麥機

本職為Mobile工程師,熱愛分享視野,也樂意站在ChatGPT的肩膀上。訂閱小麥機,收割技術、職涯、人生的難題。

No responses yet

Write a response