[iOS Dev] Multiple Selection in UITableView
มาดูเทคนิคหนึ่งที่อาจจะได้ใช้กัน เวลาใช้ UITableView
Multiple Selection โดยโปรแกรมที่นำมาเป็นตัวอย่างในวันนี้คือ
โดยใน Interface ของโปรแกรมจะประกอบไปด้วย
ตัวแปรที่อ้างถึง TableView และ Array ที่ใช้เก็บข้อมูล
ส่วนของ Implementation เริ่มด้วยการใส่ข้อมูลให้ Array และทำการเซต Property บางอย่างของ UITableView ซึ่งสามารถที่จะเซตผ่าน Interface Builder ได้เช่นกัน (ผมใส่ใน Code เพื่อให้เห็นภาพชัด)
ต่อไปก็ Implement UITableView DataSource ตามปกติ ที่จะใส่ข้อมูลลงใน UITableView
คราวนี้สิ่งที่แปลกใหม่ในการทำ Multiple Selection คือการ Implement Delegate method นี่ล่ะ
โดยเป็น method ที่จะทำงานเมื่อ User ทำการ Select/Deselect ที่ Cell ใด Cell หนึ่งของ UITableView
และทั้ง 2 method นั้นเขียนเหมือนกันนั่นคือสั่งให้ AccessoryType กลายเป็น Checkmark หรือไม่สลับกัน
ผมจึง Refactor ออกมาเป็น Function และเรียกใช้แทน :)
ผ่านจากตรงนี้เราจะเห็นได้ว่า เราสามารถที่จะ Select/Deselect Cell ต่างๆ ได้แล้วนะครับ
ต่อไปก็จะเป็นการนำค่าที่ User ทำการ Select ออกมา ... วิธีการตรงไปตรงมาครับ
คือวนตัวเลขเท่ากับจำนวน Array แล้ว Get IndexPath จาก Cell ที่มี AccessoryType เป็น Checkmark
เท่านี้เอง ลองไปทำกันดูนะ ^^






Comments
Post a Comment