@IBAction & @IBOutlet ๐Ÿค”

2022. 6. 24. 15:41ใ†Programming/Swift

 

 

 

StoryBoard ์™€์˜ ์—ฐ๊ฒฐ ๊ณ ๋ฆฌ ๋‹ด๋‹น

๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•  ๋•Œ ์•ž์— @IBAction / @IBOutlet ํ‚ค์›Œ๋“œ

: StoryBoard์—์„œ ๋ฒ„ํŠผ์ด๋‚˜ ๋ ˆ์ด๋ธ”๊ฐ™์€ ์ปดํฌ๋„ŒํŠธ์™€ ์—ฐ๊ฒฐ

 

 


 

IBAction

- Event๊ฐ€ ์ผ์–ด๋‚œ ๊ฒฝ์šฐ ํ˜ธ์ถœ๋˜๋Š” Action์„ ์ •์˜

 

- ์ž…๋ ฅ์ด ๋“ค์–ด์™”์„ ๋•Œ ์–ด๋–ค ํ–‰๋™์„ ํ•  ์ง€ ๋‚˜ํƒ€๋‚ธ๋‹ค

- ์Šคํ† ๋ฆฌ ๋ณด๋“œ ์ƒ์— ์„ ์–ธํ•œ ๋ทฐ ๊ฐ์ฒด๊ฐ€ ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜ 

- ํ•ด๋‹น View๊ฐ€ ํŠน์ • ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œ์ผฐ์„ ๊ฒฝ์šฐ ์ทจํ•˜๋Š” ํ–‰๋™ !

 

 


 

 

IBOutlet

 

- ๊ฐ’์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜, ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ

 

 

-  ์Šคํ† ๋ฆฌ ๋ณด๋“œ ์ƒ์— ์„ ์–ธํ•œ View ๊ฐ์ฒด๋ฅผ Interface Builder(IB) ๊ฐ€ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ

: ์ฝ”๋“œ ์ƒ์—์„œ ์Šคํ† ๋ฆฌ๋ณด๋“œ์— ๋งŒ๋“  ๋ทฐ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค! :) 

 

 


 

 

 

IB๋Š” Interface Builder์˜ ์•ฝ์ž

-> IBAction์€ Interface Builder๋ฅผ ํ†ตํ•ด ๋ฐ›์•„์˜จ ์ •๋ณด๋กœ Action์„ ์ˆ˜ํ–‰ํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ

 

@๋Š” ์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ ์–ด๋–ค ์†์„ฑ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค๊ณ  ์ „ํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š” ์˜ˆ์•ฝ์–ด!

์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ @๊ฐ€ ๋ถ™์€ ๋ช…๋ น์–ด์— ๋Œ€ํ•ด ์–ด๋–ค attribute๊ฐ€ ๋ถ€์—ฌ ๋˜์—ˆ์Œ์„ ๋งํ•œ๋‹ค. 

ex) @IBAction : Interface Builder์™€ ์—ฐ๊ฒฐ๋œ Action์ด๋‹ค.

ex) @UIApplicationMain : App์˜ Main์ด ์—ฌ๊ธฐ์— ์žˆ๋‹ค.

 

๋”ฐ๋ผ์„œ @IBAction ์˜ ์†์„ฑ์ด func์˜ ์ •์˜ ์•ž์— ๋ถ™์–ด์žˆ๋‹ค๋ฉด,

์ด ํ•จ์ˆ˜๋Š” Interface Builder์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๊ณ , UI๋กœ ์—ฐ๊ฒฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„๋‹ค.

 

 

 


 

 

@IBOutlet weak var clearButton: UIButton!

 

@IBOutlet ์„ ์–ธ ์‹œ -> var ์•ž์— weak ๋ถ™์Œ

: weak reference(์•ฝํ•œ ์ฐธ์กฐ) ๋ผ๋Š” ์˜๋ฏธ 

-> weak var๋ž€? ๋‹ค์Œ ํฌ์ŠคํŒ…์—

 

 

 

 

 

์ถœ์ฒ˜: 

https://etst.tistory.com/74

https://maivve.tistory.com/176

https://sysong85.tistory.com/86