๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

iOS

Objective-C ๊ณต๋ถ€ํ•ด๋ณด๊ธฐ

๋ฐ˜์‘ํ˜•

- ํšŒ์‚ฌ ๊ธฐ์กด ์•ฑ์ด 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๋กœ ๋ฐ”๊ฟ”๋ณด๋Š” ์‹ค์Šต์„ ์ž์ฃผ ํ•˜์ž.

 

๋ฐ˜์‘ํ˜•