์์๋ ๋ณ์(Outlet Variable)
- ์คํ ๋ฆฌ๋ณด๋์์ ์ถ๊ฐํ ๊ฐ์ฒด์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๊ฑฐ๋ ํน์ ํ ๋์์ ํ๊ธฐ ์ํด ๊ฐ์ฒด์ ์ ๊ทผํ๊ธฐ ์ํ ๋ณ์
1. ์์๋ ๋ณ์ ์ถ๊ฐ
'Test'๋ผ๋ Label ๊ฐ์ฒด์ ๋ํด์ ์์๋ ๋ณ์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
Label ๊ฐ์ฒด๋ฅผ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ์ ํํ๊ณ , ๋ณด์กฐ ํธ์ง๊ธฐ ์์ญ์ผ๋ก ๋๋๊ทธํ์ฌ ํด๋์ค ์ ์ธ๋ฌธ ๋ฐ๋ก ์๋์ ํด๋น ๊ฐ์ฒด๋ฅผ ๋์ด๋ค ๋์ผ๋ฉด ๋ฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ์ฐ๊ฒฐ์ ์ด ๋ํ๋๊ณ , 'Insert Outlet or Outlet Collection'์ด๋ผ๋ ํ์๊ฐ ๋์ต๋๋ค.
2. ์์๋ ๋ณ์ ์ฐ๊ฒฐ ์ค์
์์๋ ๋ณ์๋ฅผ ์ถ๊ฐํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ฐ๊ฒฐ ์ค์ ์ฐฝ์ด ๋์ต๋๋ค. ๋ณ์๋ช ๊ณผ type, storage๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
3. ์์๋ ๋ณ์ ์์ค์ฝ๋
@IBOutlet weak var testLabel: UILabel!
๋ณ์๋ช ์ testLabel๋ก ํ๊ณ , storage๋ฅผ weak๋ก ์ ํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์์ค์ฝ๋๊ฐ ์ถ๊ฐ๋ฉ๋๋ค.
- @IBOutlet
- IB๋ Interface Builder์ ์ฝ์๋ก @IB๋ก ์์๋๋ ๋ณ์๋ ํจ์๋ ์ธํฐํ์ด์ค ๋น๋์ ๊ด๋ จ๋ ๋ณ์๋ ํจ์๋ผ๋ ๊ฒ์ ์๋ฏธ
- ๊ฐ์ฒด๋ฅผ ์์ค์ฝ๋์์ ์ฐธ์กฐํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํค์๋
- ์ฃผ๋ก ์์, ํฌ๊ธฐ, ๋ชจ์, ์ ์ ๋๊ป, ํ ์คํธ ๋ด์ฉ ๋ฑ ๊ฐ์ฒด์ ์์ฑ์ ์ ์ดํ๋ ๋ฐ ์ฌ์ฉ
- storage - strong / weak
- ๋ฉ๋ชจ๋ฆฌ ํ์ ์ ์ฑ ์ ๋ํ๋ด๋ ํค์๋
- strong์ผ๋ก ์ ์ธ๋ ๋ณ์๋ ๋ค๋ฅธ ๊ณณ์์ ์ฐธ์กฐํ๊ณ ์์ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ์์ ์ ๊ฑฐ๋์ง ์์ -> ๋ฉ๋ชจ๋ฆฌ ๋์ ๋ฐ์
- weak๋ก ์ ์ธ๋ ๋ณ์๋ ๋ค๋ฅธ ๊ณณ์์ ์ฐธ์กฐํ๊ณ ์๋๋ผ๋ ์์คํ ์ด ์์์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์์ ์ ๊ฑฐ ๊ฐ๋ฅ
์ก์ ํจ์(Action Function)
- ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํค๊ธฐ ์ํ ํจ์
1. ์ก์ ํจ์ ์ถ๊ฐ
'Test Button'์ด๋ผ๋ Button ๊ฐ์ฒด์ ๋ํ ์ก์ ํจ์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
Button ๊ฐ์ฒด๋ฅผ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ์ ํํ๊ณ , ๋ณด์กฐ ํธ์ง๊ธฐ ์์ญ์ผ๋ก ๋๋๊ทธํ์ฌ ํด๋์ค ๋งจ ๋ง์ง๋ง ๋ถ๋ถ์ ํด๋น ๊ฐ์ฒด๋ฅผ ๋์ด๋ค ๋์ผ๋ฉด ๋ฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ์ฐ๊ฒฐ์ ์ด ๋ํ๋๊ณ , 'Insert Action, Outlet or Outlet Collection'์ด๋ผ๋ ํ์๊ฐ ๋์ต๋๋ค.
2. ์ก์ ํจ์ ์ฐ๊ฒฐ ์ค์
์ก์ ํจ์๋ฅผ ์ถ๊ฐํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฐ๊ฒฐ ์ค์ ์ฐฝ์ด ๋์ต๋๋ค. Name๊ณผ Type, Event์ Arguments์ ๋ํด ์ค์ ๊ฐ๋ฅํฉ๋๋ค.
3. ์ก์ ํจ์ ์์ค์ฝ๋
@IBAction func tapTestButton(_ sender: UIButton) {
}
๋ณ์๋ช ์ tapTestButton์ผ๋ก ํ๊ณ Type์ UIButton์ผ๋ก ์ ํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์์ค์ฝ๋๊ฐ ์ถ๊ฐ๋ฉ๋๋ค.
- @IBAction
- ๋ฒํผ์ ๋๋ฅด๊ฑฐ๋ ํผ์ปค๊ฐ ์ ํ๋๋ ๋ฑ ํน์ ๊ฐ์ฒด์์ ์ํ๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋ ์ ํด์ง ์์ ์ ์คํํ๊ธฐ ์ํด ์ฌ์ฉ
- ์ก์
ํจ์
- ๊ฐ ์คํ๋๋๋ก ์ด๋ฒคํธ๋ฅผ ๋ณด๋ด๋ ๊ฐ์ฒด
- AnyObject๋ ์ ํ ๊ฐ๋ฅ
์์๋ ๋ณ์์ ์ก์ ํจ์ ์ญ์
์์๋ ๋ณ์์ ์ก์ ํจ์๋ฅผ ์ถ๊ฐํ ํ ์ญ์ ํ๊ณ ์ถ์ ๋ ์์ค์ฝ๋์์ ํด๋น ๋ถ๋ถ์ ์ญ์ ํด๋ ์ญ์ ๋์ง ์์ต๋๋ค.
๊ฐ์ฒด๋ฅผ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ๋๋ฅด๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฐฝ์ด ๋ํ๋ฉ๋๋ค. ์ ์ฐฝ์์ x๋ฅผ ๋๋ฌ ํด์ ๋ฅผ ํด์ฃผ์ด์ผ ์๋ฒฝํ ์ญ์ ํ ์ ์์ต๋๋ค.
'๐ iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Date Picker (1) | 2022.10.05 |
---|---|
UIImageView (0) | 2022.09.28 |
[UIKit] UITableView (0) | 2022.04.01 |
[UIKit] UIView(3) (0) | 2022.03.30 |
[UIKit] UIView(2) (0) | 2022.03.28 |