1. ์ ์ ๋๋ค ์์ ๋ฃ๊ธฐ
์์ ์ ํ๋๊ตฌ
Google์ ์์
www.google.com
์ ์์ ๋๋ค ์ปฌ๋ฌ ์ง์ ํจ์ ๋ง๋ค์ด ์ค.
๋ฌธ์ : likeButton ๋๋ฅด๋ฉด ์๊น์ด ๊ณ์ ๋ฐ๋;;
์ด์ : ๋ฐ์ดํฐ๊ฐ ๋ฐ๊ปด์ tableView.reloadData() ๋ ๋๋ง๋ค ๋ทฐ์ ์ ์ด ๋ค์ ๋ง๋ค์ด ์ง๋๋ง๋ค ์์์ด ์๋ก ๋ฝํ.
ํด๊ฒฐ: ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๋ struct์์ ์ปฌ๋ฌ๊ฐ์ ๋ง๋ค๊ณ ๊ฐ์ง๊ณ ์์.
ํจ์ ๋ง๋ค์ด์ค.
์ธ์คํด์ค ๋ฉ์๋๋ฅผ ๋ฃ์ ์ ์๋ค๋ ๋ง์ด ๋ธ.
ํจ์์ static ๋ถ์ฌ์ ํ์ ๋ฉ์๋๋ก ๋ฐ๊ฟ์ค์ ํด๊ฒฐ
์ธ์คํด์ค๋ฉ์๋๋ static ํ์ ๋ฉ์๋๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ค๋ฅธ ๊ณณ์ ์ ์ฅ ๋จ.
static์ ํ๋ก๊ทธ๋จ ๋๋ ๋๊น์ง ์ด์์์
์ธ์คํด์ค ๋ฉ์๋๋ ์ธ์คํด์ค๊ฐ ์ด์ ์์ ๋๋ง ์กด์ฌ .
๋ทฐ์ปจ์์ ํจ์ ๊ฐ์ ธ๋ค ์ธ ๋ ํ์ ๋ฉ์๋๋ผ ์ธ์คํด์ค ์ ๋ง๋ค๊ณ ๊ทธ๋ฅ ToDoInformation๊ตฌ์กฐ์ฒด ์ ๊ทผํด์ ๋ง๋ค๋ฉด ๋จ.
๋ทฐ์ปจํธ๋กค๋ฌ์ ์ ์ ๋ฐ์ดํฐ ์ ๋ฌ ๋ฐฉ๋ฒ
- sender.tag
- ๋ค๋ฅธ ๋ฒํผ์ฒ๋ผ ์ธ์ + ๊ฐ๋ณ ๊ธฐ๋ฅ
- delegate pattern (protocol)
- closure
๐กTip
struct๊ฐ์ ๋ชจ๋ธ์๋ UIKit์ import ์ํ๋๊ฒ ์ข์. (UI ์์ ์์ ์ ๊ฑฐ)
UIKit ๋ค์ด๊ฐ ๋ชจ๋ธ
UIKit ์ ๋ฃ์ ๋ชจ๋ธ
ํ๋ฉด์ ํํ๋ฉด์ ๋ฐ์ดํฐ ์ ๋ฌ ํ๊ธฐ
๋ฐ์ดํฐ ์ ๋ฌ ๋ฐ์ ๋ทฐ์์๋ ์ ๋ฌ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ต์ ๋๋ก ์ ์ธํ๊ณ ๋ฐ์ดํฐ ์ ๋ฌํ๋ ํจ์๋ก๋ถํฐ ์ ๋ฌ ๋ฐ์ผ๋ฉด viewDidLoad์์ ์ต์ ๋ ๋ฐ์ธ๋ฉ
- ์ ๋ฌ๋ฐ๋ ๋ทฐ์ปจ
์ ํด๋ฆญํ ํ ์ ํํ ํ์ ์์ ๋ ๋ฐฉ๋ฒ
์ ์ ํํด์ ํ๋ฉด ์ ํ ํํ ๋์์ค๋ฉด ์ ์ ํํ ํจ๊ณผ๊ฐ ๋จ์์์
- select effect ์์ ๊ธฐ (๊ฐ๋ฐํ ๋ ํธํ์ง๋ง ์ฌ์ฉ์ ์ ์ฅ์์๋ ๋ณ๋ฃจ)
- ๋ค์ ํ๋ฉด ๋์ด ํ์ reloadData() ํ๊ธฐ
โ ๏ธreloadData๋ ํ ์ด๋ธ๋ทฐ ์ ์ฒด๋ฅผ reload
์๋์ ํจ์๋ค์ ์ด์ฉํ๋ฉด ์ํ๋ ๋ถ๋ถ๋ง reload ๊ฐ๋ฅ
์ด์ ํจ๊ณผ ์ ๋จ์ ์์.
2. awakeFromNib ์ฌ์ฉํ๊ธฐ
๋ผ๋ฒจ ํฐํธ ์๊น์ด๋ ์ฌ์ด์ฆ์ฒ๋ผ ํ๋ฒ๋ง ์ค์ ํ ๋ด์ฉ๋ค์ configureCell์ ๋ฃ์ผ๋ฉด ๊ณ์ ํธ์ถ ๋จ. ํ๋ฒ๋ง ํ๊ณ ์ถ์
→awakeFromNib์ ๋ฃ๊ธฐ (ํ ๋ฒ ๋ง ํธ์ถ ๋จ)
awakeFromNib()
class func์ ๋ฃ์ผ๋ฉด ์ค๋ฅ๋จ . static ํจ์๋ผ ์ธ์คํด์ค ๋ฉค๋ฒ ๋ฃ์ ์ ์์
class func : ๋ถ๋ชจ์ static func ๊ฐ์ ธ๋ค ์ (์ฐ๋ฆฌ๊ฐ ์๊ณ ์๋ class๋ ๋ค๋ฆ)
class func awakeFromNib
jump to definition ์ ๋จ .
func awakeFromNib()
jump to definition
awakeFromNib() | Apple Developer Documentation
Prepares the receiver for service after it has been loaded from an Interface Builder archive, or nib file.
developer.apple.com
UIViewController์์ CollectionView ๋ง๋ค๊ธฐ
uiviewcontroller์์๋ collectionview ์์๋ค ์ ๊ทผ์ด ์ ๋จ.
UICollectionView ์ญํ ๋ค
์ค๋ฅธํ : delegate (didselectitem~,didEndEditing~)
์ผํ : datasource(number of row ~, cellforitem~ )
→UICollectionViewController๋ ์ด๋ฏธ ์ฑํํ๊ณ ์๋ ํ๋กํ ์ฝ๋ค, UIViewController๋ ์ถ๊ฐ ์ฑํํด์ค์ผ ํจ.
์ฑํํ๊ณ fix ํด์ ๋์จ ํจ์๋ค ๊ตฌํํด์ผ ํจ.
- ํ๋กํ ์ฝ(ex.๋ถํ์ง์): UICollectionViewDelegate,UICollectionViewDataSourc
- ์ปฌ๋ ์ ๋ทฐ ์์๋
- ์ปฌ๋ ์ ๋ทฐ์ ๋ถํ์ง์์ ์ฐ๊ฒฐ : delegate = self (ํ์ ์ผ๋ก์ ํ๋กํ ์ฝ ์ฌ์ฉ)
sectionInset
layout.sectionInset = UIEdgeInsets(top: 0, left: 10, bottom: 0, right: 0)
collectionview sectionInset ์ค ๋ ์ค๋ฅธ์ชฝ์ด 0์ด์ด์ผ ์คํฌ๋กค ํํ ๋ฑ ๋ถ์ด ์์ด์ ๋ด์ฉ์ด ๋๋๋๋
xib๋ก ๋ฐ๋ก ๋ง๋ ์ ์ ๋ฑ๋กํ๋ ๋ถ๋ถ ์์ง๋ง๊ณ ๋ฃ๊ธฐ !!
ํ ๋ฒ์ ๋๊ฐ ์ปฌ๋ ์ ๋ทฐ ๊ฐ์ ๋ ์ด์์ ์ฃผ๊ธฐ
๊ฐ๊ฐ ๋ฐ๋ก ์ฃผ๊ธฐ
Tip๐ก
๋ค๋น๊ฒ์ด์ ๋ฐ ํ์ดํ default font size : 17
์ ๋ชฉ์ 15 ์ ๋ ๋ด์ฉ๋ฌผ์ 13์ ๋
์ฌ๋ฌ ์ปฌ๋์ ๋ทฐ๋ฅผ ๊ฐ๊ฐ ๋ค๋ฅด๊ฒ ์ค์ ํ๊ธฐ
numberOfItem~, cellForItem~ ์ด๋ฐ ํจ์๋ค ํ๋ฒ๋ฐ์ ํธ์ถ ์ ๋จ.
→์ด ํจ์ ์์์ ์กฐ๊ฑด๋ฌธ์ผ๋ก ์ฝ๋ ์ง์ผํจ.
์ปฌ๋ ์ ๋ทฐ ์์ดํ ๊ฐ์ ์ค์
์ปฌ๋ ์ ๋ทฐ ์ ์ค์
bestCollectionView.isPagingEnabled = true
์ปฌ๋ ์ ๋ทฐ ์ ์์ ์ปฌ๋ ์ ๋ทฐ, ํ ์ด๋ธ๋ทฐ ๊ฐ๋ฅ
ํ ์ด๋ธ๋ทฐ ์ ์์ ์ปฌ๋ ์ ๋ทฐ, ํ ์ด๋ธ๋ทฐ ๊ฐ๋ฅ
-> ๋์์ผ๋ก Compositional Layout ๋ฑ์ฅ
'SeSAC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[iOS] TIL_230804 (0) | 2023.08.06 |
---|---|
[iOS] TIL_230803 (0) | 2023.08.06 |
[iOS] TIL_230801 (0) | 2023.08.03 |
[iOS] TIL_230731 (0) | 2023.08.03 |
[iOS] TIL_230728 (0) | 2023.08.01 |