๊ฐ์ ๋ทฐ์ปจ์ ์ฌ๋ฌ๊ฐ์ง ์ผ์ด์ค(์ถ๊ฐ & ์์ ๋ฑ)๋ก ์จ๋ณด๊ธฐ
- true/false, 0/1, “present”/”push”๋ฑ ๋ค์ํ ๋ฐฉ๋ฒ ํด์ฃผ์ฌ
- bool ๊ฐ๋ ์ข์ง๋ง ๋๊ฐ์ง ๊ฒฝ์ฐ ๋ฐ์ ๋์ ๋ชปํ๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ๊ฐ์ง ๊ฒฝ์ฐ๋ก ๋์ด๋๊ฒ ๋๋ฉด ์์ ํ๊ธฐ ์ด๋ ค์
- ์ซ์๋ ๋ฌธ์์ด๋ก ํ๋ ๊ฑฐ๋ ์ฌ๋ฌ์ฌ๋์ด ํ์ ํ ๋ ์ด๋ ต๊ณ ํผ์ํด๋ ๊น๋จน์ ๊ฐ๋ฅ์ฑ ๋ง์.
→ ์ด๊ฑฐํ์ผ๋ก ํด๊ฒฐ.
viewDidLoad์์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ํ๋ ์ฝ๋ ๊ตฌํ
return ํ ๋ ๋ญ๊ฐ ์ฒ๋ฆฌํ๋ฉด ์ข์ ์ ์์ง๋ง ์ง๊ธ์ ๊ทธ๋ฅ return ๋๋ ๋ฌธ์ ์๋ ๋ถ๋ถ
ํ ์คํธ ๋ทฐ์ placeholder
ํ ์คํธ ํ๋์ ๋ฌ๋ฆฌ ๊ธฐ๋ณธ ์ง์ X
→ ๋ถํ์ง์(ํ๋กํ ์ฝ) ๋ฐ๋ ค์์ผ ํจ.
set์ ์ด์ฉํด์ ์์ ๋ ์ฝ๋๊ฐ ๊ฐ์ ์ญํ ์ ํ๊ฒ ๋จ.
๊ฐ์์
didSet
๋ฐ์ดํฐ๊ฐ ๋ฐ๋์์ ๋ ๊ฐฑ์
oldValue : ๋ฐ๋๊ธฐ ์ ๊ฐ.
willSet
Class์ get / set
ํ๋กํ ์ฝ
๋ช ์ธ๋ง ์์ฑ๋์ด ์๊ณ , ๋จ์ํ ์ ์ธ ํํ๋ก ๊ตฌ์ฑ๋์ด ์์ด์, ๊ตฌ์ฒด์ ์ธ ๋ด์ฉ์ ๋ณ๋๋ก ๊ตฌํ์ด ์ด๋ฃจ์ด์ง
ํน์ ๋ช ์ธ๋ฅผ ๋ฐ๋ฅด๋ ํ์ (ํด๋์ค, ๊ตฌ์กฐ์ฒด ๋ฑ)์ ‘ํ๋กํ ์ฝ์ ์ค์ํ๋ค’๋ผ๊ณ ํํํจ
์ค์ง์ ์ธ ๊ตฌํ(๋ด์ฉ)์ ํด๋์ค, ์ด๊ฑฐํ, ๊ตฌ์กฐ์ฒด ๋ฑ์์ ์ด๋ฃจ์ด์ง
๋ฐ๋ก ๊ฐ๋ฃ๋ ๊ฑด ์๋จ
ํ์ ์ ์ธ ํด ์ค์ผ ํจ.
์ต์ ์๊ตฌ์ฌํญ get์ด๋ set์ ๋ฃ์ด ๋ ์ ์์.
get set ๋ ๋ค ๋ฃ์ด๋๊ธฐ
get๋ง ๊ตฌํํด๋์ ์ค๋ฅ ๋จ
get set ๋๋ค ํ ์ ์๋๋ก ์์
optional
protocol ํจ์์ค optional ์ ๋ถ์ ํจ์๋ ํ์ ๊ตฌํํด์ผ ํ๋ ํจ์.
ํ ์คํธ๋ทฐ ์ก์ ๋ฃ๊ธฐ
label→show ๊ธฐ๋ฅ
button→click ๊ธฐ๋ฅ
textfield,searchbar → ์ฌ๋ฌ๊ฐ์ง ์ก์ ์กด์ฌ
textview์๋ ์ฌ๋ฌ ๋ถํ์ง์์ ๊ฐ์ง๊ณ ์๋ค.
1. UITextViewDelegate
2. delegate ์ฐ๊ฒฐ
3. ํ์ํ ๋ฉ์๋ ํธ์ถํด์ ๊ตฌํ
- ๊ธ์์ ์ฒดํฌ : textViewDidChange
textViewDidEndEdting
ํ ์คํธํ๋ ์ ๋ ฅ๊ฐ Picker View๋ก ๋ฐ๊ธฐ
์ ํํ ํญ๋ชฉ์ผ๋ก ํ ์คํธ ํ๋ ์ฑ์ฐ๊ธฐ
SearchBar
์์น๋ฐ๋ฅผ navigationItem.titleView๋ก ๋ฃ์ ๊ฑฐ๋ผ ๋ค๋น๊ฒ์ด์ ๋ฐ ์์ด์ผ ๋ณด์
์์น๋ฐ ์ค์๊ฐ ๊ฒ์๊ธฐ๋ฅ ๋ฃ๊ธฐ
1.UISearchBarDelegateํ๋กํ ์ฝ ์ถ๊ฐ
2.ํ์ํ ํจ์๋ค ๊ตฌํ
searchBarSearchButtonClicked
ํ ์คํธํ๋์์ ์ํฐ์น๋ฉด ํธ์ถ ๋จ
(์ํฐ์ณ์ ๊ฒ์)
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
searchList.removeAll()
for item in list {
if item.contains(searchBar.text!) {
searchList.append(item)
}
}
}
searchBar(_ searchBar: UISearchBar, textDidChange searchText: String)
ํ ์คํธ ๋ณ๋ ๋๋ฉด ํธ์ถ(์ค์๊ฐ ํ์์น๋ฉด์ ๊ฒ์)
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
searchWord()
searchList.removeAll()
for item in list {
if item.contains(searchBar.text!) {
searchList.append(item)
}
}
}
searchBarCancelButtonClicked
cancel ๋ฒํผ ํด๋ฆญ์ ํธ์ถ
func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
searchList.removeAll()
searchBar.text = ""
}
3.๊ฒ์ํ๋ฉด์ ๋ฐ์ดํฐ ๋ณ๋ ๋จ์ ๋ฐ๋ผ ์ปฌ๋ ์ ๋ทฐ reload
var searchList: [String] = [] {
didSet {
collectionView.reloadData()
}
}
4. delegate ๋ฑ๋ก
searchBar.delegate = self
'SeSAC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[iOS] TIL_230807 (0) | 2023.08.09 |
---|---|
[iOS] TIL_230804 (0) | 2023.08.06 |
[iOS] TIL_230802 (0) | 2023.08.05 |
[iOS] TIL_230801 (0) | 2023.08.03 |
[iOS] TIL_230731 (0) | 2023.08.03 |