๋ณธ ํฌ์คํ ์ ‘ํ๋ก๊ทธ๋๋ฐ ์ค๋ธ์ ํฐ๋ธ-C 2.0’ ์ ์ฝ์ผ๋ฉฐ ์ค์ตํ ์ฝ๋์ ๋ด์ฉ, ์ถ๊ฐ์ ์ผ๋ก ๊ถ๊ธํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ๋ด์ฉ ์ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์์๋ณด์. #define ๋ช ๋ น๋ฌธ #import ๋ช ๋ น๋ฌธ ์กฐ๊ฑด ์ปดํ์ผ(#ifdef, #if, #elif, #else, #endif, #ifndef, #undef) ์ ์ฒ๋ฆฌ๊ธฐ๋ ์ปดํ์ผ ๊ณผ์ ์์ ํ๋ก๊ทธ๋จ ์ฝ๋์ ์ฐ์ฌํ ํน๋ณํ ๋ช ๋ น๋ฌธ์ ์ธ์ํฉ๋๋ค. ์ด ์ ์ฒ๋ฆฌ ๋ช ๋ น๋ฌธ์ ๋ง๋ค๊ธฐ ์ํด์๋ ์ต(#)์ ์ค์ ๋งจ ์์ ๋ถ์ฌ์ผ ํ๋ค. โ #define ๋ช ๋ น๋ฌธ #define ๋ฌธ์ ์ฃผ ์ฉ๋๋ ์์์ ์ฌ๋ฒ๋ช ์ ๋ถ์ฌํ๋ ๊ฒ์ด๋ค. ๋ค์์ ์ ์ฒ๋ฆฌ ๋ช ๋ น๋ฌธ์ TRUE ๋ผ๋ ์ด๋ฆ์ด ๊ฐ 1๊ณผ ๋์ผํ๋๋ก ์ ์ํ๊ณ , FALSE ๋ผ๋ ์ด๋ฆ์ด ๊ฐ 0๊ณผ ๋์ผํ๋๋ก ์ ์ํ๋ค. #define TRUE 1 #define ..
์๋ฅผ ๋ค์ด ๋ง์ ๊ฐ์ฒด๋ค์ด ํด๋น ํด๋์ค๋ฅผ ์์๋ฐ์์ ๊ฐ์ ๋ทฐ๋ฅผ ๊ฐ์ ธ์ผ ํ๋ค๋ฉด ์๋ธํด๋์ฑ์ ํ๋ ๊ฒ์ด ์ ์ฉํ๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฌ์ฉ์ฑ์ด ์ข์์ง๋ค. ๊ทธ๋ ๋ค๋ฉด ๋ฌด์กฐ๊ฑด ์๋ธํด๋์ฑ์ ํ๋ ๊ฒ์ด ์ข์๊น? ๊ณ ๋ คํ ์ฌํญ์ ๋ํด์ ์๊ฐํด๋ณด์. ๊ณ ๋ คํ ์ฌํญ ์๋ธํด๋์ฑ์ ํ๋ค๋ณด๋ฉด ๋ณต์กํ๊ณ ๊น์ ํด๋์ค๋ค์ ์์๊ด๊ณ๋ฅผ ๋ง๋ค๊ฒ ๋ฉ๋๋ค. ์ด๋ ์๋ธํด๋์ฑ์ ํ๋ ๋ชฉ์ ์ด ์ธํฐํ์ด์ค๋ง ๊ณต์ ํ๋ ๊ฒ์ด๋ผ๋ฉด ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฐ๋์งํ ์ ์๋ค. ๋ํ, ๋ง์ด ๋ณ๊ฒฝ๋๊ฑฐ๋ ๋ง์ ๊ตฌํ์ฌํญ์ ๋ค๋ฅธ ํด๋์ค์ ์์ํ๊ฒ ๋๋ค๋ฉด(์๋ฅผ ๋ค์ด, UITableViewDelegate ์ ๊ฐ์ delegate) ๋ธ๋ฆฌ๊ฒ์ดํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ์ฌ ๋์ ์ธ ํด๋์ค๋ฅผ ๋ง๋ค๊ธฐ ์ ์ฉํ๋ค. ํด๋์ค๋ฅผ ํ์ฅํ๊ธฐ ์ํ ๊ธฐ๋ฅ์ผ๋ก์จ ์นดํ ๊ณ ๋ฆฌ๋ ์ข์ ๋ฐฉ๋ฒ์ด๋ค. ์นดํ ๊ณ ๋ฆฌ๋ฅผ ํตํด ํ์ฅ๋ ํด..
Message Dispatch Objective-C ๋ ํด๋์ค์ ๋ฉ์๋๊ฐ ํ๋กํผํฐ๋ฅผ ํธ์ถํ ๋ ํด๋น ๊ฐ์ฒด์ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๊ณผ์ ์ด ๋ฐํ์ ์์ ์ผ์ด๋ฉ๋๋ค. ์ด๊ฒ์ด message dispatch ์ ๋๋ค. ์ฆ, message dispatch ๋ dynamic dispatch ์ ์ผ์ข ์ ๋๋ค. message dispatch ๋ ์ค๋ฒ๋ผ์ด๋ฉํ๊ฑฐ๋ ์๋ก ์ ์ํ ๋ฉ์๋๋ค๋ง ํ ์ด๋ธ์ ์ ์งํฉ๋๋ค.(swift ์ dynamic dispatch ๋ ๋ชจ๋ ๋ฉ์๋์ ๋ํ ํฌ์ธํฐ๋ฅผ ํด๋น ํด๋์ค๊ฐ ๊ฐ์ง.) ๋์ , ๋ถ๋ชจ ํด๋์ค๋ก์ ํฌ์ธํฐ๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ์์๋ฐ์ ๋ฉ์๋๋ค์ ์ฐพ์๊ฐ ์ ์์ต๋๋ค. ๋์ Swift ๋ ์ด๋ฐ ๊ธฐ๋ฅ์ ์์ฒด์ ์ผ๋ก ์ ๊ณตํ์ง ์๊ธฐ๋๋ฌธ์ message dispatch ๋ฅผ ..
๋ณธ ํฌ์คํ ์ ‘ํ๋ก๊ทธ๋๋ฐ ์ค๋ธ์ ํฐ๋ธ-C 2.0’ ์ ์ฝ์ผ๋ฉฐ ์ค์ตํ ์ฝ๋์ ๋ด์ฉ, ์ถ๊ฐ์ ์ผ๋ก ๊ถ๊ธํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ๋ด์ฉ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ๋ฐฉ์์ผ๋ก ํด๋์ค์ ๋ฉ์๋๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ ์ต๋ช ์นดํ ๊ณ ๋ฆฌ๋ฅผ ํตํด ํด๋์ค ํ์ฅ(Extension) ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ ๋ฉ์๋์ ํ์คํ๋ ๋ชฉ๋ก ๋ง๋๋ ๋ฐฉ๋ฒ ์นดํ ๊ณ ๋ฆฌ ์นดํ ๊ณ ๋ฆฌ๋ ํด๋์ค ์ ์๋ฅผ ๊ทธ๋ฃน์ง๊ฑฐ๋, ์ฐ๊ด๋ ๋ฉ์๋๋ฅผ ์นดํ ๊ณ ๋ฆฌ๋ก ์ฝ๊ฒ ๋ชจ๋๋ฌํ ํ ์ ์๊ฒ ํด์ค๋ค. ๋ํ, ์๋ณธ ์์ค ์ฝ๋์ ์ ๊ทผํ๊ฑฐ๋ ์๋ธํด๋์ค๋ฅผ ์์ฑํ์ง ์๊ณ ๋ ๊ธฐ์กด์ ํด๋์ค ์ ์๋ฅผ ํ์ฅํ๋ ๋ฐฉ๋ฒ๋ ์ ๊ณตํ๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ํด๋์ค ์ ์์ ์ ๋ฉ์๋๋ฅผ ์ถ๊ฐํ๊ณ ์ถ์ ๋๋ ํ๋ก์ ํธ์์ ์๋ธํด๋์ค๋ฅผ ์์ฑํ๊ณ ์ ๋ฉ์๋๋ฅผ ๊ตฌํํ ์ ์์ง๋ง ๋ ์ฝ๊ณ ๊ฐ๋ ฅํ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก ์นดํ ๊ณ ๋ฆฌ์ด๋ค. Fraction ํด๋์ค์..
* ๋ณธ ํฌ์คํ ์ ‘ํ๋ก๊ทธ๋๋ฐ ์ค๋ธ์ ํฐ๋ธ-C 2.0’ ์ ์ฝ์ผ๋ฉฐ ์ค์ตํ ์ฝ๋์ ๋ด์ฉ, ์ถ๊ฐ์ ์ผ๋ก ๊ถ๊ธํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ๋ด์ฉ ๋ณ์์ ๋ฒ์, ๊ฐ์ฒด์ ์ด๊ธฐํ ๋ฉ์๋, ๋ฐ์ดํฐ ํ์ ๋ํด ์์ธํ ์์๋ณด์ Objective-C ์ปดํ์ผ๋ฌ์ ์ง์์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์คํด์ค ๋ณ์์ ๋ฒ์ ์กฐ์ ์ ์ ๋ณ์, ์ ์ญ ๋ณ์, ์ธ๋ถ ๋ณ์ ์ด๊ฑฐ(enumerated) ๋ฐ์ดํฐ ํ typedef 1. ๊ฐ์ฒด ์ด๊ธฐํ ๊ฐ์ฒด๋ฅผ ์ด๊ธฐํํ๊ณ ๋์ ์ด๊น๊ฐ์ ์ค์ ํ ์ ์๋ค. // Initializes a newly allocated array by placing in it the objects contained in a given array. myArray = [[NSArray alloc] initWithArray: myOtherArray]; i..
๋ณธ ํฌ์คํ ์ ‘ํ๋ก๊ทธ๋๋ฐ ์ค๋ธ์ ํฐ๋ธ-C 2.0’ ์ ์ฝ์ผ๋ฉฐ ์ค์ตํ ์ฝ๋์ ๋ด์ฉ, ์ถ๊ฐ์ ์ผ๋ก ๊ถ๊ธํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ๋ด์ฉ ๋คํ์ฑ์ ๋ค๋ฅธ ํด๋์ค์ ๊ฐ์ฒด๋ค์ด ๋์ผํ ๋ฉ์๋ ์ด๋ฆ์ ์ฌ์ฉํ ์ ์๋๋ก ํด์ค๋ค. ๋์ ํ์ดํ์ ๊ฐ์ฒด๊ฐ ์ํ ํด๋์ค๋ฅผ ์์๋ด๋ ๋จ๊ณ๋ฅผ ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋๋ก ๋ฏธ๋ฃฌ๋ค. ๋์ ๋ฐ์ธ๋ฉ์ ๊ฐ์ฒด์ ํธ์ถ๋๋ ์ค์ ๋ฉ์๋๋ฅผ ์์๋ด๋ ํ๋ก๊ทธ๋จ ์คํ ์ค์ผ๋ก ๋ฏธ๋ฃฌ๋ค. ์์ํ๊ธฐ ์ฝ๋๋ฅผ ์ค๋นํด๋ณด์. Fraction.h #import // MARK: - Fraction Class // interface ๋ถ๋ถ์ ํด๋์ค๋ฅผ ๋ค๋ฅธ ํ์ผ์์ ์ฌ์ฉํ ๋ ์ปดํ์ผ๋ฌ๊ฐ ํ์๋ก ํ๋ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ค. @interface Fraction : NSObject @property int numerator, denomin..
- ์๋ฒํต์
- Objective-C
- WWDC22
- urlsession
- WidgetKit
- Notification
- watchOS
- RxCocoa
- containerBackground
- UserDefaults
- rxswift
- SwiftUI
- configurable widget
- CloneCoding
- 2022 KAKAO TECH INTERNSHIP
- WWDC
- APNS
- OpenSourceLibrary
- Protocol
- MVVM
- Algorithm
- MOYA
- Firebase
- projectsetting
- IOS
- github
- YPImagePicker
- Widget
- async/await
- Swift
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Total
- Today
- Yesterday