๐ŸŽ iOS

Table View Controller

hyebin (Helia) 2022. 12. 28. 17:15
๋ฐ˜์‘ํ˜•

ํ…Œ์ด๋ธ” ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ(Table View Controller)

  • ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ชฉ๋ก ํ˜•ํƒœ์˜ ์ •๋ณด ์ œ๊ณต
  • ๋ชฉ๋ก์˜ ํŠน์ • ํ•ญ๋ชฉ์„ ์„ ํƒํ•˜์—ฌ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ํ‘œ์‹œํ•  ๋•Œ ์œ ์šฉ

 

1. Table View Controller ์ถ”๊ฐ€

๊ธฐ์กด์˜ View Controller๋ฅผ ์‚ญ์ œํ•œ ํ›„, Library์—์„œ Table View Controller๋ฅผ ์ฐพ์•„ ์Šคํ† ๋ฆฌ ๋ณด๋“œ์— ์ถ”๊ฐ€

์ถ”๊ฐ€ํ•œ Table View Controller๋ฅผ initial View๋กœ ์„ค์ •

 

2. ์ฝ”๋“œ ์ž‘์„ฑ

Table View์˜ Cell์˜ ์‹๋ณ„์ž๋ฅผ ์ง€์ •

Table View์— ํ‘œ์‹œํ•  ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์€ cellData ๋ฐฐ์—ด ์„ ์–ธ

Table View์˜ ์„น์…˜์˜ ๊ฐœ์ˆ˜์™€ ํ–‰์˜ ๊ฐœ์ˆ˜ ์„ค์ •

Table View์— ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ์‹๋ณ„์ž๋ฅผ ์‚ฌ์šฉํ•ด cell์„ ์ฐพ๊ณ , cell์— ์ด๋ฏธ์ง€์™€ ํ…์ŠคํŠธ๋ฅผ ํ‘œํ˜„

 

3. ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ํ™•์ธ 

 

 

+ ๋ชฉ๋ก ์‚ญ์ œํ•˜๊ธฐ

cellData.remove(at: indexPath.row)

override func tableView(_ tableView: UITableView, titleForDeleteConfirmationButtonForRowAt indexPath: IndexPath) -> String? {
	return "์‚ญ์ œ"
}

 

+ ๋ชฉ๋ก ์ˆœ์„œ ๋ฐ”๊พธ๊ธฐ

override func tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath) {
	let itemToMove = cellData[sourceIndexPath.row]
    cellData.remove(at: (sourceIndexPath as NSIndexPath).row)
    cellData.insert(itemToMove, at: destinationIndexPath.row)
}

 

+ ๋ชฉ๋ก ์ถ”๊ฐ€ํ•˜๊ธฐ

Table View์— ๋‚˜ํƒ€๋‚ผ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด์— ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„, Table View๋ฅผ reloadData() ํ•œ๋‹ค.
๋ฐ˜์‘ํ˜•