- ํ์ฌ ๊ธฐ์กด ์ฑ์ด Objective-C๋ก ๋์ด์๊ณ , ์ด๋ฒ์ ์ ๊ท ๊ฐ๋ฐํ๋ ์ฑ์ ๋น์ทํ ๋ก์ง์ ๋ฐ๋ผ Swift ์ธ์ด๋ก ๊ฐ๋ฐ๋ ์์ ์ด๊ธฐ ๋๋ฌธ์
ํ์ฌ ๊ธฐ์กด ์ฑ์ ๋ก์ง์ ๊ฐ๋ตํ๊ฒ๋๋ง ํ์ ํ๊ธฐ ์ํด Objective-C์ ๊ธฐ๋ณธ ๊ฐ๋ ์ ๊ณต๋ถํด๋ด์ผ๊ฒ ๋ค๊ณ ์๊ฐํจ.
Objective-C๋ C ๊ธฐ๋ฐ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์, C ์ธ์ด์ ๊ธฐ๋ณธ์ ์ธ ํ๋ฆ์ ์๋ ๊ฒ์ด ๋์์ด ๋จ.
๐ฏ ์ฃผ์ ํ์ต ํฌ์ธํธ
- ํด๋์ค/๋ฉ์๋ ์ ์ธ ๋ฐฉ์ (@interface, @implementation)
- ๋ฉ์๋ ํธ์ถ ๋ฌธ๋ฒ ([object methodName])
- ํฌ์ธํฐ ๊ฐ๋ (NSString *name)
- ํ๋กํผํฐ ์ ์ธ (@property, @synthesize)
- ์ปฌ๋ ์ (NSArray, NSDictionary)
- @selector, delegate, category, protocol ๊ฐ๋
- Swift ์ ๋น๊ตํด์ ๊ณต๋ถํ๋ ๋ฐฉ์
| Swift | Objective-C |
| func greet() | - (void)greet; |
| let name: String | NSString *name; |
| class Person {} | @interface Person : NSObject @end |
| protocol, delegate | @protocol, id<Delegate> |
| optional chaining | ์กด์ฌํ์ง ์์ (์ง์ nil ์ฒดํฌ) |
๊ฐ๋จํ ์ฑ์ Objective-C๋ก ๊ตฌํํ๋ฉด์ ์ค์ตํด๋ณด๊ธฐ
๐ฏ ์ถ์ฒ ์ค์ต ์ฃผ์
- ๊ณ์ฐ๊ธฐ ์ฑ
- ํ ์ผ ๋ชฉ๋ก ์ฑ (To-do)
- ๊ฐ๋จํ ๋ด์ค ๋ณด๊ธฐ ์ฑ (JSON ํ์ฑ, ํ ์ด๋ธ ๋ทฐ ํฌํจ)
๊ธฐ์กด ํ๋ก์ ํธ ์ฝ๊ธฐ & ๋ฆฌํฉํ ๋ง ์ฐ์ต
๋ ๊ฑฐ์ ์ฝ๋๋ฅผ ์ฝ๊ณ Swift๋ก ๋ฆฌํฉํ ๋งํด๋ณด๋ ๊ฒ๋ ๊ด์ถ
๐ ์์:
- GitHub์์ language:Objective-C ๊ฒ์
- ๊ณผ๊ฑฐ ์คํ์์ค iOS ์ฑ (์: AFNetworking, SDWebImage)
Xcode ์ฌ์ฉ ํ
- Xcode์์๋ .m, .h ํ์ผ์ ๊ธฐ๋ฐ์ผ๋ก ์๋ ์์ฑ์ด ์ ์๋ํฉ๋๋ค.
- Objective-C ์ฝ๋๋ฅผ Swift ํ๋ก์ ํธ์์ Bridging-Header.h๋ก ์ฐ๊ฒฐํด๋ณด๋ฉด ์๋ฐฉํฅ ์ฐ๋๋ ์ดํดํ ์ ์์ด์.
โ ์ถ์ฒ ์ ํ๋ธ & ๊ฐ์
- YouTube
- "Objective-C iOS Tutorial" ํค์๋๋ก ๊ฒ์ (์: Brian Advent)
- Udemy ๊ฐ์
- "iOS App Development with Objective-C" (Swift๋ณด๋ค ๊ฐ์ ์๋ ์ ์ง๋ง ์์)
๐ ๊ณต๋ถ ํ ์์ฝ
โ Swift๋ฅผ ์๊ณ ์๋ค๋ฉด ๋น๊ต ์ค์ฌ์ผ๋ก ๊ณต๋ถํ์.
โ ๋ฌธ๋ฒ๋ณด๋ค๋ ํจํด(Delegate, Category, Protocol) ์ค์ฌ์ผ๋ก ์ ๊ทผํ์.
โ Swift ↔ Objective-C ๋ณํ ์ฐ์ต์ด ์ค๋ฌด์ ๋งค์ฐ ์ ์ฉํ๋ค.
โ Objective-C ์ฝ๋๋ฅผ Swift๋ก ๋ฐ๊ฟ๋ณด๋ ์ค์ต์ ์์ฃผ ํ์.
'iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| iOS) Router pattern with Alamofireโs URLRequestConvertible protocol Tutorial ๋ฐ๋ผํด๋ณด๊ธฐ ! (7) | 2022.05.16 |
|---|---|
| iOS) Compositional Layout (2) | 2022.05.09 |
| iOS) WKWebView (0) | 2022.03.28 |
| iOS) Modal dismissํ ํ CollectionView reload ํ๊ธฐ (0) | 2022.03.28 |
| iOS ) URLSession ์์๋ณด๊ธฐ (2) | 2022.02.28 |