๐ชด Summary
- ๋ณด์กฐ ์ฐฝ
- breakpoint
- iOS 4๊ณ์ธต
- Xcode์์ Document ํ์ธํ๊ธฐ
- UILabel - Line/Autoshrink
- UITextField - Min Font Size
- UIView Background Default Color
- ์๋ฃํ
- ์ต์ ๋
- ํด๋์ค/๊ตฌ์กฐ์ฒด ์์ ์๊ตฌ๋ค
- ์ฌ๋ฌ ๊ฐ์ UI ์์ ๋์ ์ ์ด
- ํจ์
- IBAction๋ ์ฌ๋ฌ ๊ฐ ์ฐ๊ฒฐ์ด ๊ฐ๋ฅํ๋ค
- iPhone Build
๐ Detail
TIL์ ๋๋ฌด ๋ง์ ๋ฆฌ์์ค๋ฅผ ๋ค์ด์ง ๋ง์๋ค.
๋ณด์กฐ ์ฐฝ
- Assistant: ์คํ ๋ฆฌ๋ณด๋์ ๋ํ ์์ค ์ฝ๋ ์๋ํฐ๋ฅผ ์ฝ๊ฒ ๋งค์นญํด์ค
- Minimap: ์คํ ๋ฆฌ๋ณด๋ ๋๋ ์์ค ์ฝ๋ ์๋ํฐ ์์ ์์น๋ฅผ ์ฝ๊ฒ ์ ์ ์์
breakpoint
breakpoint๋ฅผ ์ง์ ํ ์ํ์์ ์คํ์ ํ๋ฉด ์๋์ ์ผ๋ก ํ๋ก๊ทธ๋จ์ ์ผ์์ ์ง ์ํค๊ฒ ๋๋ค. (์ด๋ฐ๋ถ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋์ง, ๋๋ ํ๋ฐ๋ถ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋์ง ํ์ธํ๋๋ฐ ์ด์ฉํ๊ฒ ๋๋ค.
์ํ๋ 3๊ฐ์ง์ด๋ค.
- breakpoint ํ์ฑํ
- breakpoint ๋นํ์ฑํ
- breakpoint ์ญ์
Line์ breakpoint๋ฅผ ๊ฑธ ์๋ ์๋ค.
ํ ๋ฒ์ breakpoint๋ฅผ ๋ชจ์ ๋ณผ ์๋ ์๋ค.
ํ์ผ๋ณ๋ก brekpoint๋ฅผ ๋ชจ์๋ณด๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.
ํ ๋ฒ์ breakpoint๋ฅผ ์ญ์ ํ๊ธฐ๋ ํธํ๋ค.
ํ Line์ฉ ๋ค์ ์คํ์ ์ด์ด๊ฐ ์๋ ์๋ค.
iOS 4๊ณ์ธต
Core OS
- ์ด๋ฏธ ๋ค ๋ง๋ค์ด์ง ๊ฒ๋ค์ด ๋ค์ด์๋ ์์ญ.
- ์์ดํฐ์ด ๋์ํ๊ธฐ ์ํ ์ต์ํ ์ ๊ฒ๋ค์ด ๋ค์ด์์. (๋ฐฐํฐ๋ฆฌ, ์ ์)
Core Service
- GPS ์ผ์, ์กฐ๋ ์ผ์(์๋ ๋ฐ๊ธฐ, ํธ๋ฃจํค-๋์คํ๋ ์ด ์ ์จ๋ ๊ด๋ จ ๋ฑ), ๊ฐ์๋ ์ผ์, ๊ทผ์ ์ผ์(์ ํ๊ฐ ์์ ๋ ํ๋ฉด์ด ๊บผ์ง)
Media
- ์นด๋ฉ๋ผ, ๋น๋์ค, ํ์ผ ๋ฑ
Cocoa Touch
- ๊ฐ์ฅ ์ค์ํ๊ณ ๋ง์ด ์ฌ์ฉํ๊ฒ ๋จ
- Cocoa๋ผ๋ ์ด๋ฆ์ ์ด์ ์ MacOS์์ ์ฌ์ฉํ๋ ์ด๋ฆ
- Cocoa Touch ์์ ๋ค์ด์๋ ์์ ๋ฐ์ค๊ฐ ์ค์ํจ (UIKit, Foundation)
- UIKit์ ํ๋ฉด(UI)๊ณผ ๊ด๋ จ๋ ๊ฒ๋ค์ ๋ค๋ฃธ
- UIKit์์ Foundation์ ๊ตฌํํด ๋ (๊ทธ๋ ๊ธฐ ๋๋ฌธ์ UIKit๋ง importํด๋ Foundation์ ์ฌ์ฉํ ์ ์์)
- Foundation์ Swift ์ฝ๋(์ธ์ด์ ์ธ ๊ฒ๋ค)๋ฅผ ์์ฑํ๊ธฐ ์ํด ํ์ํจ
Xcode์์ Document ํ์ธํ๊ธฐ
- cmd + shift + 0 : ํ ๋์ ๋ณด๊ธฐ ๋ ์ฌ์ด ๊ฒ ๊ฐ๋ค.
UILabel - Line/Autoshrink
Lines
- Lines : ๋ผ์ธ(์ค) ์ ์กฐ์ ํ๋๋ฐ ์ฌ์ฉํ๋ ์์ฑ inspector
- numberOfLines : ๋ผ์ธ(์ค) ์ ์กฐ์ ํ๋๋ฐ ์ฌ์ฉํ๋ ์์ฑ code
๊ฐ๋ฐ์ ํ๋ค๋ณด๋ฉด ์ฌ์ค ์ปจํ ์ธ ๊ฐ ์ผ๋ง๋ ๋ค์ด์ฌ์ง ์๊ธฐ ์ด๋ ต๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ปจํ ์ธ ์ ๋ฐ๋ผ์ ๋ผ์ธ์ ์ฆ๊ฐ์ํฌ ํ์๊ฐ ์๋๋ฐ ์ด ๋ ์์ ์์ฑ ๊ฐ์ 0์ผ๋ก ์ค์ ํ๋ฉด ๋ผ์ธ ์๋ฅผ ๊ณ์ํด์ ๋๋ฆด ์ ์๋ค.
Autoshrink
์์ ์ ํ๋ค๋ณด๋ฉด ์ปจํ ์ธ ๊ฐ ๋์ด๋จ์ ๋ฐ๋ผ ํฐํธ๋ฅผ ์ค์ผ ํ์๊ฐ ์๋ค. ๊ทธ๋ด ๋ ์ฌ์ฉํ ์ ์๋ ์์ฑ์ด๋ค. ์์ญ์ด ๊ฐ๋ ์ฑ์์ก์ ๋, ํฐํธ ํฌ๊ธฐ๋ฅผ ์๊ฒ ๋ง๋ค์ด์ ์กฐ๊ธ ๋ ์ปจํ ์ธ ๋ฅผ ๋ง์ด ๋ณด๊ฒ ๋ง๋ค ์ ์๋ ๊ฒ์ด๋ค. ๊ทธ๋ฐ๋ฐ ์ด๊ฒ ๋์์ธ ์ ์ผ๋ก ์ข์ ๋ถ๋ถ์ธ์ง ์๊ฐํด ๋ณผ ํ์๊ฐ ์๋ค. ํฐํธ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ ๊ฒ๋ณด๋ค ๋ ๋ณด๊ธฐ ๋ฒํผ์ ๋ง๋ค์ด ์ปจํ ์ธ ์์ญ์ ๋๋ฆฌ๊ฑฐ๋ ์ค์ด๋ ๊ฒ์ด ๋ ์ข์ ๋ณด์ธ๋ค.
UITextField - Min Font Size
์์ญ์ ์ปจํ ์ธ ๊ฐ ๊ฝ ์ฐผ์ ๋, ํฐํธ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ ๊ฒ์ ํ์ธํ ์ ์๋ ์์
- ๋ค์ด๋ฒ ๋ฐด๋ ์ฑ : ๋ฐด๋ ๋ช ๋ง๋๋ ๋ถ๋ถ
- ๋งฅ ๋๋ฆฌ๋ฒ๋ฆฌ : ์์ฒญ ์ฌํญ ์ ๋ ๋ถ๋ถ
UIView Background Default Color
view backgroundColor : default color๋ก ์ง์ ํ์ ๋
View์ background color๋ฅผ default๋ก ์ค์ ํ์ ๋, Tap Gesture๊ฐ ์ธ์ํ์ง ๋ชปํ๋ ์ด์ ๋ ๋ค์ ๋ด์ฉ๊ณผ ๊ด๋ จ์ด ์๋ค.
print(view.backgroundColor)
// nil์ด๊ธฐ ๋๋ฌธ์ ์ด๋ ์ ๋ ํฌ๊ธฐ๊ฐ ์๋์ง ์์ญ์ ์ธ์ํ์ง ๋ชปํ๋ค. (์ ์ผ๊น? ๐ฒ)
// ๊ทธ๋ ๋ค๋ฉด clear๋์ ์ด๋ค ์ฐจ์ด๊ฐ ์์๊น? ์์ด ์ ๋ณด์ด๋ ๊ฒ์ ๋์ผํ๋ ์ฝ๊ฐ ๋ค๋ฅธ ๊ฒ ๊ฐ๋ค.
// ์์ ํฌ๋ช
ํ๊ฒ ๋ง๋ค๊ธฐ ์ํด์๋ clear๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ข์๋ณด์ธ๋ค.
์๋ฃํ
์๋ฃํ์ ํฌ๊ฒ ๊ธฐ๋ณธ/๊ณ ๊ธ์ผ๋ก ๊ตฌ๋ถ์ง์ด ๋ณผ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ์ต์ ๋์ธ ํ์ /์ต์ ๋์ด ์๋ ํ์ ์ผ๋ก๋ ๊ตฌ๋ถํ ์ ์๋ค.
๊ธฐ๋ณธ
- Int(UInt, Int8, Int16, Int32, Int64), Double, Float, String, Bool
- Int๋ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ์๋ค..?
๊ณ ๊ธ
- Array, Dictionary, Set, Tuple
์ต์ ๋
๊ธฐ๋ณธ ์๋ฃํ ๋ค์ ?(๋ฌผ์ํ)๋ฅผ ๋ถ์ด๋ฉด์ ๊ฐ์ด ์๊ณ ์์(nil)์ ๋ํ๋ผ ์ ์๋ค.
1) nil์ ๋ํ ๋์ฒ๋ฅผ ์ ํ์ง ๋ชปํ์ ๋
- ์ฑ์ด ์คํํ๋ค๊ฐ ์ข ๋ฃ๋๋ ๋ฌธ์ (๋ฐํ์ ์๋ฌ)๋ฅผ ๋ง์ดํ ์ ์๋ค. ์ ์ฒ๋ฆฌํ์..^^
- outlet ์ฐ๊ฒฐ ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒ๋ ๋ค์ ์ด์ ์ ๊ฐ๋ค.
- ๊ฐ์ ํด์ ์ต์ ๋์ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์, ์ฐ๊ฒฐ์ด ์๋ชป๋์๊ฑฐ๋ ๋๊ฒผ์ ๋ ๋ฐํ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
2) nil์ ๋ํ ๋์ฒ๋ฅผ ํ๋ ค๊ณ ํ๋ค๋ฉด
- ๊ฐ์ ํด์
- ์ต์ ๋ ๋ฐ์ธ๋ฉ (if let, guard let)
- ์ต์ ๋ ์ฒด์ด๋
3) IBOutlet์ ๊ฐ์ ํด์ ํ์ง ์๊ณ ์ต์ ๋๋ก ์ฌ์ฉํด๋ ๊ด์ฐฎ์๊น?
๊ด์ฐฎ๋ค! ๊ทธ๋ฌ๋ ๋งค๋ฒ ๋ถ๊ธฐ ์ฒ๋ฆฌ๋ ์ต์ ๋ ๋ฐ์ด๋/์ฒด์ด๋์ ํด์ผํ๊ธฐ ๋๋ฌธ์ ๋๋ฌด ๋ฒ๊ฑฐ๋ก์ธ ๊ฒ์ด๋ค.
4) ์ต์ ๋ ์ฒด์ด๋์ ๋ฌผ์ํ(?)๋ ์กฐ๊ฑด๋ฌธ์ ์ญํ ์ ํ๋ค.
ํด๋์ค/๊ตฌ์กฐ์ฒด ์์ ์๊ตฌ๋ค
๊ฐ์ ๊ฐ๋ ์ด๋ผ๋ ๋ถ๋ฅด๋ ์ด๋ฆ์ด ๋ฌ๋ผ์ง ์ ์๋ค.
- ๋ณ์/์์ (ํ์ ์ด๋ ธํ ์ด์ , ํ์ ์ถ๋ก , ํ์ ์๋ฆฌ์ด์ค) โก๏ธ ํ๋กํผํฐ (ํด๋์ค > ํจ์ ์์ ์๋ ๊ฒ์ ๋ณ์๋ผ๊ณ ๋ถ๋ฅธ๋ค.)
- ์๋ฃํ
- ํจ์ โก๏ธ ๋ฉ์๋
- ์ด๊ธฐํ comming soon
- ์ธ์คํด์ค comming soon
์ฌ๋ฌ ๊ฐ์ UI ์์ ๋์ ์ ์ด
๊ณตํต๋๋ ์ฝ๋์ ๋ํด ์์ ํ๋์ฉ ์ ๊ทผํ๋ ์๊ณ ๋ฅผ ๋ ์ ์๋ค.
1. ๋ฐ๋ณต๋ฌธ ์ฌ์ฉ
let buttonArray: [UIButton] = [sendButton, textColorButton]
for button in buttonArray {
button.backgroundColor = .blue
button.layer.cornerRadius = 4
}
2. ์์๋ ์ปฌ๋ ์ ์ฌ์ฉ
@IBOutlet var buttonList: [UIButton]! // - ์ฐ๊ฒฐ์ ํด์ฃผ์ด์ผ ํจ
for button in buttonList {
button.backgroundColor = .blue
button.layer.cornerRadius = 4
}
ํจ์
ํจ์์ ์ดํด
( ) : ์๊ดํธ
- ํจ์ ํธ์ถ ์ฐ์ฐ์
- ์ฐ์ฐ์์ ์ผ์ข
์ด๋ค.
ํจ์ by Apple
์ด๋ฆ, ๊ธฐ๋ฅ, ์คํ ํ์ด๋ฐ ๋ฏธ๋ฆฌ ์ ์
ํจ์ by ์ง์ (UDF: User Defined Function)
์ด๋ฆ, ๊ธฐ๋ฅ, ์คํ ํ์ด๋ฐ ์ง์ ์ง์
- ์คํ ํ์ด๋ฐ์ ์ง์ ํ๋ ๊ฒ์ด ์ด๋ ต๋ค.
- ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์คํ ์์ ์ Apple์ด ๋ง๋ค์ด ๋์ ํจ์๋ฅผ ์ด์ฉํด์ ์ ํ๊ฒ ๋๋ค. ์ด๋ฅผ ํธ์ถ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
IBAction ํจ์
- ์ด ํจ์ ๊ฐ์ ๊ฒฝ์ฐ๋ ํน์ ์ด๋ฒคํธ ์์ ์ ํจ์ ์คํ์ ํ๋ผ๊ณ ๋ฏธ๋ฆฌ ์ ์ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ํธ์ถ์ ๋ฐ๋ก ์ํด์ฃผ์ด๋ ๋๋ค.
ํจ์์ ๋งค๊ฐ๋ณ์
// buttonOutletVariableName: ์ธ๋ถ ๋งค๊ฐ๋ณ์, Argument Label
// buttonName: ๋ด๋ถ ๋งค๊ฐ๋ณ์, Parameter Name
// buttonName(Parameter): UIButton(Argument)
// ์์ ์๋ ์ด๋ฆ์ Parameter๋ผ๊ณ ํจ.
// ์ค์ ๋ก ๋ค์ด๊ฐ๋ ๊ฐ์ Argument๋ผ๊ณ ๋ถ๋ฆ.
// ์ธ๋ถ ๋งค๊ฐ๋ณ์์ ๊ฒฝ์ฐ ์ค์ ๋ค์ด๊ฐ๋ ๊ฐ์ ์ด๋ฆ์ด๊ธฐ ๋๋ฌธ์ Argument Label์ด๋ผ๊ณ ๋ถ๋ฆ.
// _ : ์์ผ๋ ์นด๋ ์๋ณ์
func designButton(buttonOutletVariableName buttonName: UIButton, for title: String, highlightedTitle: String, backgroundColor: UIColor) {
buttonName.setTitle(title, for: .normal)
buttonName.setTitle(highlightedTitle, for: .highlighted)
buttonName.backgroundColor = backgroundColor
buttonName.layer.cornerRadius = 8
buttonName.layer.borderColor = UIColor.gray.cgColor
buttonName.layer.borderWidth = 3
buttonName.setTitleColor(.white, for: .normal)
buttonName.setTitleColor(.black, for: .highlighted)
}
์ธ๋ถ ๋งค๊ฐ๋ณ์, ๋ด๋ถ ๋งค๊ฐ๋ณ์
func designButton(buttonOutletVariableName buttonName: UIButton, for title: String, highlightedTitle: String, backgroundColor: UIColor)
- buttonOutletVariableName: ์ธ๋ถ ๋งค๊ฐ๋ณ์, Argument Label
- buttonName: ๋ด๋ถ ๋งค๊ฐ๋ณ์, Parameter Name
์์ผ๋ ์นด๋ ์๋ณ์
_ (์์ผ๋ ์นด๋ ์๋ณ์)
ํด๋น ๊ธฐํธ๋ฅผ ์จ์ ์ธ๋ถ ๋งค๊ฐ๋ณ์๋ฅผ ์๋ตํ ์ ์๋ค.
๊ด์ต์ ์ผ๋ก ๋ณดํต ํ๋๋ง ์ฐ๊ณ ๋ ํ๋ค.
IBAction๋ ์ฌ๋ฌ ๊ฐ ์ฐ๊ฒฐ์ด ๊ฐ๋ฅํ๋ค
๋จ, ํ์ ๋ง ๋ง๋ค๋ฉด!
@IBAction func exampleButtonDidTapped(_ sender: UIButton) {
view.endEditing(true)
}
iPhone Build
์์ดํฐ์ ์ฐ๊ฒฐํด๋ณผ๊น์? ๊ฐ๋ฐ์ ๊ณ์ ์์ผ๋ฉด ์๋ฝ๋ค..
'๐ฑ SeSAC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SeSAC] 220713 TIL (0) | 2022.07.21 |
---|---|
[SeSAC] 220712 TIL (0) | 2022.07.13 |
[SeSAC] 220711 TIL (0) | 2022.07.11 |
[SeSAC] 220708 TIL (0) | 2022.07.08 |
[SeSAC] 220706 TIL (0) | 2022.07.06 |