cell select vs gesture
ํ ์ด๋ธ ๋ทฐ์์๋ ํญ์ ์ค์ฒ๋ก ํค๋ณด๋๋ฅผ ์ ์ ๋ด๋ฆผ. ๋๋๊ทธ ํด์ ๋ด๋ฆผ.
ํ ์ด๋ธ๋ทฐ์ ์คํฌ๋กคํ๋ฉด ํค๋ณด๋ ๋ด๋ ค๊ฐ๋๋ก ์ฝ๊ฒ ์ค์ ํ ์ ์์.
ํ ์ด๋ธ๋ทฐ ์ ํฌ๊ธฐ
๋๋น: ๊ธฐ๊ธฐ์ ๋๋น
๋์ด: ์กฐ์ ๊ฐ๋ฅ
๊ฐ๊ฒฉ: ๋ฌด์กฐ๊ฑด ๋ถ์ด์์ ( ์ปฌ๋ ์ ๋ทฐ๋ ๊ฐ๋ฅ . tableview์์ ๋์ด์ ธ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ๊ฒ์ ์์ uiview ๋ฃ์ด์ inset ์ค ๊ฒ → ์ด ๋ฐฉ๋ฒ์ ๊ทธ๋ฆผ์ ๋ฃ์ ๋ ๋ฌธ์ )
button image symbol ํฌ๊ธฐ ๋ฐ๊พธ๊ธฐ
SFSymbol
iOS 13 ์ดํ ๋ฑ์ฅ. iOS 12์์๋ ์์ ์ถ๊ฐํด์ ๋ฃ์ด์ผํจ.
configuration์์ font scale๋ก ๋์ ๊ฐ๋ฅ
Cell์ ์ฒดํฌ ๋ฐ์ค๋ ๋ณดํต ๋ฒํผ ๋ง๊ณ ์ด๋ฏธ์ง๋ทฐ๋ก ๊ตฌํํ๊ธฐ๋ํจ. ์ ์์ฒด๋ฅผ ํด๋ฆญํ์ ๋๋ ์ฒดํฌ ํ ์ ์๋๋ก ํ๊ธฐ ์ํ์ (ex. ๋ฐฐ๋ฌ์ ๋ฏผ์กฑ ๋ฉ๋ด์ฒดํฌ)
TableViewCell
Cell Identifier๋ class ์ด๋ฆ ๊ฐ๊ฒ ํด์ผ ํธํจ
didSelectRowAt
์ ํด๋ฆญ ํ์ ๋ ํธ์ถ ๋๋ ํจ์
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { print(indexPath) }
Type Casting
ํ์ ๋ณํ(ํ๋ณํ)
self: ๋ ์์ ์ด ๊ฐ์ง ์ด๋ฆ์ด์ผ ํ๊ณ ์๋ ค์ฃผ๋ ์ฉ๋
is : ํด๋์ค๋ฅผ ๋น๊ตํ๊ธฐ ์ํ ์ฐ์ฐ์. ์ด๋ค ํด๋์ค์ ์ธ์คํด์ค ํ์ ์ธ์ง ํ์ธ
Any
[Any]์๋ ์ฌ๋ฌํ์ ๋ด์ ์ ์์.
element๋ [Any]์ ์์๋ฅผ ๊ฐ์ ธ์๊ธฐ ๋๋ฌธ์ Any ํ์
Any์ Int ๋ํ๋ ค๋ฉด ์ค๋ฅ๋จ
Any ํ์ ํ ๋ณํํ๊ธฐ
ํ์ ์บ์คํ ์ ํตํด์ ์ํ๋ ํ๋กํผํฐ์ ์ ๊ทผ ํ ์ ์๋๋ก ์ค์
Type Cast Operator
as (์ ์บ์คํ ) : ๋ถ๋ชจ๋ก ๋ฐ๊พธ๋
as? as! (๋ค์ด์บ์คํ ) : ์์์ผ๋ก ๋ฐ๊พธ๋
as? ์ต์ ๋ ๋ฐํ ํ์ ⇒ ์คํจํ ๊ฒฝ์ฐ nil ๋ฐํ
as! ์ต์ ๋ ํ์ ์๋ ⇒ ์คํจํ ๊ฒฝ์ฐ ๋ฌด์กฐ๊ฑด ๋ฐํ์ ์ค๋ฅ ๋ฐ์
Any vs AnyObject
Any : ๋ชจ๋ ํ์ ์ ๋ํ ์ธ์คํด์ค๋ฅผ ๋ด์ ์ ์์
AnyObject : ํด๋์ค์ ์ธ์คํด์ค๋ง ๋ด์ ์ ์์
์ปดํ์ผ ์์ ์์๋ ์ด๋ค ํ์ ์ธ์ง ํ์ธํ ์ ์๊ณ , ๋ฐํ์ ์์ ์ ํ์ ์ด ๊ฒฐ์
ํ ์ด๋ธ๋ทฐ ๋ฐ์ดํฐ Struct๋ก ๋ง๋ค๊ธฐ
cell ์ค์ ๋ถ๋ถ cell์ ๋ฉ์๋๋ก ๋ง๋ค๊ธฐ
list ๋ณ์(struct ๋ฐฐ์ด)๋ struct์ ๋ฃ์ด ์ฌ์ฉํ๊ธฐ
ToDoInformation stuct ์์ฑํ์ฌ ์์๋ค๊ฐ ๋ฃ๊ธฐ
๋ณ๊ฒฝ ํ
struct ํ์ผ๋ก ๋๋์ด ๊น๋ํ๊ฒ ๊ด๋ฆฌํ๊ธฐ
Class
ํ ์์ญ์ ์ ์ฅ ๋จ.
name์ด let์ด์ด์ ์ค๋ฅ๋จ. var์ธ count๋ size๋ ๋ณ๊ฒฝ ๊ฐ๋ฅ
- drinkclass๋ผ๋ ๋ณ์์ DrinkClass(name: “์์ท์ถ”, count:3300, size: .venti)๋ก ๋ง๋ค์ด์ง ๊ฐ์ด ๋ค๋ฅธ ๊ณณ์ ์ ์ฅ๋์ด์๋ค๊ณ ์๊ฐํ๋ฉด ๋จ.
- drinkclass๋ DrinkClass(name: “์์ท์ถ”, count:3300, size: .venti)์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์. ๊ทธ๋์ drinkclass๊ฐ let์ผ๋ก ์ ๊ฒจ ์์ด๋ ์ฃผ์ ๋ฐ๋ผ๊ฐ Class ์์ count๋ size ๋ var์ฌ์ ์์ ํ ์ ์์ .
Struct
์คํ ์์ญ์ ์ ์ฅ ๋จ.
struct๋ var์ธ count์ size ๋ ๋ชป ๋ฐ๊ฟ.
:struct๋ฅผ let์ผ๋ก ๋ง๋ค๋ฉด ์์ ๋ณ์๋ค์ด ํ๋ฒ์ ์ ๊ฒจ์ ์ ์ฅ๋์ด์๋ค๊ณ ์๊ฐํ๋ฉด ๋จ → ๋ณ์๋ค ๋ชป ๋ฐ๊ฟ
class ๋ฐ์์ ๋ณ์ ์ฐ๊ธฐ
์ ์ญ๋ณ์๋ผ ์ธ์ ์ด๋์๋ ์ ๊ทผํด์ ๊ฐ์ ธ์ค๊ธฐ ๊ฐ๋ฅ. ์ฑ ์คํ๋ถํฐ ๋๋ ๋๊น์ง ๋ฐ์ดํฐ์์ญ์ ์ ์ฅ๋์ด์์. but ๊ถ์ ํ์ง ์์.
์ง์ฐ ์ ์ฅ ํ๋กํผํฐ lazy
lazy let ๋ถ๊ฐ. ๋์ค์ ๊ฐ์ด ๋ค์ด์ค๋ฏ๋ก ๊ฐ์ด ๋ณ๊ฒฝ๋์ ๋ฌด์กฐ๊ฑด lazy var๋ก ํด์ผ ํจ.
let์ผ๋ก ์ ์ธ ๋์ด ์๋ ์์๋ ์ธ์คํด์ค๊ฐ ์์ฑ๋๊ธฐ ์ ์ ๊ฐ์ ํญ์ ๊ฐ์ง๊ณ ์์ด์ผ ํจ.
lazy ๋ณ์๋ ์ธ์คํด์ค๊ฐ ์ด๋ฏธ ์์ฑ ๋ ์ดํ์ ๊ฐ์ด ์ฐ์ผ๋ ๊ฐ์ด ๋ค์ด๊ฐ.
๊ทธ๋์ var ๋ง ์ธ ์ ์์ .
ํ์ ํ๋กํผํฐ
cell identifier ๋ง๋ค ๋ ์ฌ์ฉ
๋์ค์ ๋ ์ข์ ๋ฐฉ๋ฒ ์๋ ค ์ฃผ์ค ๊ฒ
์ธ์คํด์ค ๋ฉ์๋, ์ธ์คํด์ค ํ๋กํผํฐ
- ๋ณ์/ ์์,ํจ์๊ฐ class,struct,enum์ผ๋ก ๋ค์ด๊ฐ๋ฉด ํ๋กํผํฐ,๋ฉ์๋๋ผ๊ณ ๋ถ๋ฆ
- class,struct,enum๋ฅผ ์ด๊ธฐํํด์(์ด๊ธฐ๊ฐ์ ๋ฃ์ด์) ๋ง๋ ๊ฒ์ ์ธ์คํด์ค
- ์ด ์ธ์คํด์ค ์์ ์๋ ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ์ธ์คํด์ค ํ๋กํผํฐ, ์ธ์คํด์ค ๋ฉ์๋๋ผ๊ณ ํจ.
ํ์ ๋ฉ์๋, ํ์ ํ๋กํผํฐ
: ์ด๊ธฐํ๋ฅผ ํ์ง ์์๋ ์ฌ์ฉํ ์ ์๋ ๊ฒ์ ํ์ ํ๋กํผํฐ์ ํ์ ๋ฉ์๋๋ผ๊ณ ํ๊ณ ์์ static์ ๋ถ์ฌ์ ์ฌ์ฉ ํจ.
์ ์ฅ ํ๋กํผํฐ & ์ฐ์ฐ ํ๋กํผํฐ
์ฐ๋ฆฌ๊ฐ ์ง๊ธ ์ ์ธํ๋ ๋ชจ๋ ํ๋กํผํฐ๋ ์ ์ฅํ์์ด๋ผ๊ณ ๋ณด๋ฉด ๋จ. (์ฐ์ฐ ์์ง ์ ๋ฐฐ์)
์ธ์คํด์ค ํ๋กํผํฐ, ํ์ ํ๋กํผํฐ ๋ชจ๋ ์ ์ฅ ๋ฒ์ , ์ฐ์ฐ ๋ฒ์ ์ ๊ฐ์ง
- ์ ์ฅ ์ธ์คํด์ค ํ๋กํผํฐ
- ์ ์ฅ ํ์ ํ๋กํผํฐ
- ์ฐ์ฐ ์ธ์คํด์ค ํ๋กํผํฐ
- ์ฐ์ฐ ํ์ ํ๋กํผํฐ
ex)
static let identifer : ์ ์ฅ ํ๋กํผํฐ&ํ์ ํ๋กํผํฐ → ์ ์ฅ ํ์ ํ๋กํผํฐ๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํจ.
'SeSAC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[iOS] TIL_230801 (0) | 2023.08.03 |
---|---|
[iOS] TIL_230731 (0) | 2023.08.03 |
[iOS] TIL_230727 (0) | 2023.07.31 |
[iOS] TIL_230726 (0) | 2023.07.31 |
[iOS] TIL_230725 (0) | 2023.07.30 |