Objective-C) ์ „์ฒ˜๋ฆฌ๊ธฐ

๋ณธ ํฌ์ŠคํŒ…์€ ‘ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์˜ค๋ธŒ์ ํ‹ฐ๋ธŒ-C 2.0’ ์„ ์ฝ์œผ๋ฉฐ ์‹ค์Šตํ•œ ์ฝ”๋“œ์™€ ๋‚ด์šฉ, ์ถ”๊ฐ€์ ์œผ๋กœ ๊ถ๊ธˆํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋‚ด์šฉ ์ „์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์•Œ์•„๋ณด์ž. #define ๋ช…๋ น๋ฌธ #import ๋ช…๋ น๋ฌธ ์กฐ๊ฑด ์ปดํŒŒ์ผ(#ifdef, #if, #elif, #else, #endif, #ifndef, #undef) ์ „์ฒ˜๋ฆฌ๊ธฐ๋Š” ์ปดํŒŒ์ผ ๊ณผ์ •์—์„œ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์— ์‚ฐ์žฌํ•œ ํŠน๋ณ„ํ•œ ๋ช…๋ น๋ฌธ์„ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ „์ฒ˜๋ฆฌ ๋ช…๋ น๋ฌธ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ƒต(#)์„ ์ค„์˜ ๋งจ ์•ž์— ๋ถ™์—ฌ์•ผ ํ•œ๋‹ค. โœ… #define ๋ช…๋ น๋ฌธ #define ๋ฌธ์˜ ์ฃผ ์šฉ๋„๋Š” ์ƒ์ˆ˜์— ์‹ฌ๋ฒŒ๋ช…์„ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋‹ค์Œ์˜ ์ „์ฒ˜๋ฆฌ ๋ช…๋ น๋ฌธ์€ TRUE ๋ผ๋Š” ์ด๋ฆ„์ด ๊ฐ’ 1๊ณผ ๋™์ผํ•˜๋„๋ก ์ •์˜ํ•˜๊ณ , FALSE ๋ผ๋Š” ์ด๋ฆ„์ด ๊ฐ’ 0๊ณผ ๋™์ผํ•˜๋„๋ก ์ •์˜ํ•œ๋‹ค. #define TRUE 1 #define ..

Objective-C 2022. 8. 26. 00:02
Objective-C) ์„œ๋ธŒํด๋ž˜์‹ฑ์„ ๊ณ ๋ คํ•  ๋•Œ

์˜ˆ๋ฅผ ๋“ค์–ด ๋งŽ์€ ๊ฐ์ฒด๋“ค์ด ํ•ด๋‹น ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์•„์„œ ๊ฐ™์€ ๋ทฐ๋ฅผ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค๋ฉด ์„œ๋ธŒํด๋ž˜์‹ฑ์„ ํ•˜๋Š” ๊ฒƒ์ด ์œ ์šฉํ•˜๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์žฌ์‚ฌ์šฉ์„ฑ์ด ์ข‹์•„์ง„๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฌด์กฐ๊ฑด ์„œ๋ธŒํด๋ž˜์‹ฑ์„ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„๊นŒ? ๊ณ ๋ คํ•  ์‚ฌํ•ญ์— ๋Œ€ํ•ด์„œ ์ƒ๊ฐํ•ด๋ณด์ž. ๊ณ ๋ คํ•  ์‚ฌํ•ญ ์„œ๋ธŒํด๋ž˜์‹ฑ์„ ํ•˜๋‹ค๋ณด๋ฉด ๋ณต์žกํ•˜๊ณ  ๊นŠ์€ ํด๋ž˜์Šค๋“ค์˜ ์ƒ์†๊ด€๊ณ„๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ์„œ๋ธŒํด๋ž˜์‹ฑ์„ ํ•˜๋Š” ๋ชฉ์ ์ด ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ด๋ผ๋ฉด ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ, ๋งŽ์ด ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ๋งŽ์€ ๊ตฌํ˜„์‚ฌํ•ญ์„ ๋‹ค๋ฅธ ํด๋ž˜์Šค์— ์œ„์ž„ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด(์˜ˆ๋ฅผ ๋“ค์–ด, UITableViewDelegate ์™€ ๊ฐ™์€ delegate) ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๋™์ ์ธ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ ์šฉํ•˜๋‹ค. ํด๋ž˜์Šค๋ฅผ ํ™•์žฅํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ์œผ๋กœ์จ ์นดํ…Œ๊ณ ๋ฆฌ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ด๋‹ค. ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ํ†ตํ•ด ํ™•์žฅ๋œ ํด..

Objective-C 2022. 8. 18. 19:43
iOS) Dispatch(4) - Message Dispatch

Message Dispatch Objective-C ๋Š” ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๊ฐ€ ํ”„๋กœํผํ‹ฐ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ํ•ด๋‹น ๊ฐ์ฒด์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ณผ์ •์ด ๋Ÿฐํƒ€์ž„ ์‹œ์— ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด message dispatch ์ž…๋‹ˆ๋‹ค. ์ฆ‰, message dispatch ๋Š” dynamic dispatch ์˜ ์ผ์ข…์ž…๋‹ˆ๋‹ค. message dispatch ๋Š” ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ ์ •์˜ํ•œ ๋ฉ”์†Œ๋“œ๋“ค๋งŒ ํ…Œ์ด๋ธ”์— ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.(swift ์˜ dynamic dispatch ๋Š” ๋ชจ๋“  ๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ๋ฅผ ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ ๊ฐ€์ง.) ๋Œ€์‹ , ๋ถ€๋ชจ ํด๋ž˜์Šค๋กœ์˜ ํฌ์ธํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์†๋ฐ›์€ ๋ฉ”์†Œ๋“œ๋“ค์„ ์ฐพ์•„๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  Swift ๋Š” ์ด๋Ÿฐ ๊ธฐ๋Šฅ์„ ์ž์ฒด์ ์œผ๋กœ ์ œ๊ณตํ•˜์ง€ ์•Š๊ธฐ๋•Œ๋ฌธ์— message dispatch ๋ฅผ ..

iOS 2022. 8. 17. 23:54
Objective-C) ์นดํ…Œ๊ณ ๋ฆฌ์™€ ํ”„๋กœํ† ์ฝœ

๋ณธ ํฌ์ŠคํŒ…์€ ‘ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์˜ค๋ธŒ์ ํ‹ฐ๋ธŒ-C 2.0’ ์„ ์ฝ์œผ๋ฉฐ ์‹ค์Šตํ•œ ์ฝ”๋“œ์™€ ๋‚ด์šฉ, ์ถ”๊ฐ€์ ์œผ๋กœ ๊ถ๊ธˆํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋‚ด์šฉ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“ˆ ๋ฐฉ์‹์œผ๋กœ ํด๋ž˜์Šค์— ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ต๋ช… ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ํ†ตํ•ด ํด๋ž˜์Šค ํ™•์žฅ(Extension) ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ฉ”์„œ๋“œ์˜ ํ‘œ์ค€ํ™”๋œ ๋ชฉ๋ก ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• ์นดํ…Œ๊ณ ๋ฆฌ ์นดํ…Œ๊ณ ๋ฆฌ๋Š” ํด๋ž˜์Šค ์ •์˜๋ฅผ ๊ทธ๋ฃน์ง“๊ฑฐ๋‚˜, ์—ฐ๊ด€๋œ ๋ฉ”์„œ๋“œ๋ฅผ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ์‰ฝ๊ฒŒ ๋ชจ๋“ˆ๋Ÿฌํ™” ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ๋˜ํ•œ, ์›๋ณธ ์†Œ์Šค ์ฝ”๋“œ์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์„œ๋ธŒํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ ๋„ ๊ธฐ์กด์˜ ํด๋ž˜์Šค ์ •์˜๋ฅผ ํ™•์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์ œ๊ณตํ•œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ํด๋ž˜์Šค ์ •์˜์— ์ƒˆ ๋ฉ”์†Œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋‚˜ ํ”„๋กœ์ ํŠธ์—์„œ ์„œ๋ธŒํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ƒˆ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋” ์‰ฝ๊ณ  ๊ฐ•๋ ฅํ•œ ๋ฐฉ๋ฒ•์ด ๋ฐ”๋กœ ์นดํ…Œ๊ณ ๋ฆฌ์ด๋‹ค. Fraction ํด๋ž˜์Šค์—..

Objective-C 2022. 8. 16. 23:12
Objective-C) ๋‹คํ˜•์„ฑ, ๋™์  ํƒ€์ดํ•‘, ๋™์  ๋ฐ”์ธ๋”ฉ

๋ณธ ํฌ์ŠคํŒ…์€ ‘ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์˜ค๋ธŒ์ ํ‹ฐ๋ธŒ-C 2.0’ ์„ ์ฝ์œผ๋ฉฐ ์‹ค์Šตํ•œ ์ฝ”๋“œ์™€ ๋‚ด์šฉ, ์ถ”๊ฐ€์ ์œผ๋กœ ๊ถ๊ธˆํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋‚ด์šฉ ๋‹คํ˜•์„ฑ์€ ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋“ค์ด ๋™์ผํ•œ ๋ฉ”์„œ๋“œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค. ๋™์  ํƒ€์ดํ•‘์€ ๊ฐ์ฒด๊ฐ€ ์†ํ•œ ํด๋ž˜์Šค๋ฅผ ์•Œ์•„๋‚ด๋Š” ๋‹จ๊ณ„๋ฅผ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋  ๋•Œ๋กœ ๋ฏธ๋ฃฌ๋‹ค. ๋™์  ๋ฐ”์ธ๋”ฉ์€ ๊ฐ์ฒด์— ํ˜ธ์ถœ๋˜๋Š” ์‹ค์ œ ๋ฉ”์„œ๋“œ๋ฅผ ์•Œ์•„๋‚ด๋Š” ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์œผ๋กœ ๋ฏธ๋ฃฌ๋‹ค. ์‹œ์ž‘ํ•˜๊ธฐ ์ฝ”๋“œ๋ฅผ ์ค€๋น„ํ•ด๋ณด์ž. Fraction.h #import // MARK: - Fraction Class // interface ๋ถ€๋ถ„์€ ํด๋ž˜์Šค๋ฅผ ๋‹ค๋ฅธ ํŒŒ์ผ์—์„œ ์‚ฌ์šฉํ•  ๋•Œ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ๋ชจ๋“  ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค. @interface Fraction : NSObject @property int numerator, denomin..

Objective-C 2022. 7. 15. 19:17
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
๊ธ€ ๋ณด๊ด€ํ•จ
ยซ   2024/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
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