• Feed
  • Explore
  • Ranking
/
๐Ÿฆ… Swift
31
Swift์˜ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•์„ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ๊ฐœ๋…์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.





์ง€
์ง€์„ฑ
4 ํŒ”๋กœ์›Œ
ยท
0 ํŒ”๋กœ์ž‰
๊ณ ์–‘์ด ์•‰ํ˜€๋†“๊ณ  ์ฝ”๋”ฉ
ํƒœ๊ทธ

์ตœ๊ทผ ๋Œ“๊ธ€
[Swift] ์ •๋ง ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ตฌ์กฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ?Swift๋ฅผ ์ฒ˜์Œ ๋ฐฐ์šธ ๋•Œ ๋“ค์—ˆ๋˜ ๋ง์ด ์žˆ๋‹ค.๊ธฐ๋ณธ์ ์œผ๋กœ ๊ตฌ์กฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ด๋ผ."Apple ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด ์•„๋ž˜ ์ด๋ฏธ์ง€์—์„œ ๋ถ‰์€์ƒ‰์œผ๋กœ ํ‘œ์‹œํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ตฌ์กฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋ผ๊ณ  ๋ช…์‹œ๋˜์–ด ์žˆ๋‹ค.์ •๋ง ๊ทธ๋ž˜์•ผํ• ๊นŒ?์ด๋ฒˆ์—๋Š” ์œ„ ์ด๋ฏธ์ง€์—์„œ ํŒŒ๋ž€์ƒ‰์œผ๋กœ ๋ฐ‘์ค„ ์นœ ๋ถ€๋ถ„์„ ์‚ดํŽด๋ณด์ž. ๋ฌธ์„œ์—์„œ ๊ตฌ์กฐ์ฒด๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๊ถŒ์žฅํ•˜๋ฉด์„œ ์ „์ œํ•˜๊ณ  ์žˆ๋Š” ๋ถ€๋ถ„์ด ์žˆ๋‹ค.store data and
0
0
10 months ago
6 min read

[Swift] CodingKeys๋กœ ์ปจ๋ฒค์…˜ ์ง€ํ‚ค๊ธฐJSON์„ ๋‹ค๋ฃจ๋‹ค๋ณด๋ฉด ์ข…์ข… "ํ•„๋“œ ์ด๋ฆ„์„ ์ง„์งœ ์ด๋ ‡๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜?" ๊ฐ™์€ ๊ณ ๋ฏผ์— ๋น ์งˆ ์ˆ˜ ์žˆ๋‹ค. Swift์—์„œ๋Š” CodingKeys๋ฅผ ์‚ฌ์šฉํ•ด ์ด ๊ณ ๋ฏผ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.CodingKeys๋Š” Swift์˜ Codable ํ”„๋กœํ† ์ฝœ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ์—ด๊ฑฐํ˜•์œผ๋กœ, ์šฐ๋ฆฌ๊ฐ€ ์ง๋ ฌํ™”์™€ ์—ญ์ง๋ ฌํ™”ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” JSON ํ‚ค์™€ Swift์˜ ํ”„๋กœํผํ‹ฐ ์ด๋ฆ„์„ ๋งคํ•‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ
0
0
a year ago
3 min read

[Swift] Concurrency, ๋„ˆ๋„ ํ•  ์ˆ˜ ์žˆ์–ดConcurrencyConcurrency๋Š” '๋™์‹œ์— ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ'์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์Œ์•… ์ŠคํŠธ๋ฆฌ๋ฐ ์•ฑ์—์„œ ๋…ธ๋ž˜๋ฅผ ๋“ค์œผ๋ฉด์„œ ๋™์‹œ์— ์นดํ†ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ, ์•ฑ์ด ์—ฌ๋Ÿฌ ์ž‘์—…์„ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.Concurrency๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ์•ฑ์ด ์‘๋‹ต์„ฑ์ด ๋†’์•„์ง€๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ๋А๋ผ๋Š” ๋”œ๋ ˆ์ด๋ฅผ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. Swift์—์„œ
0
0
a year ago
10 min read

[Swift] ํƒ€์ž… ์บ์ŠคํŒ…, ํ˜• ๋ณ€ํ™˜์ด ์•„๋‹ˆ๋ผ๊ณ ? ๐Ÿค”Swift์˜ ํƒ€์ž… ์บ์ŠคํŒ…์€ Python์—์„œ ๋งํ•˜๋Š” ํƒ€์ž… ์บ์ŠคํŒ…์ด๋ž‘ ์ข€ ๋‹ค๋ฅด๋‹ค. Python์—์„œ๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š”, ํ”ํžˆ ํ˜• ๋ณ€ํ™˜์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๊ฐœ๋…์„ ํƒ€์ž… ์บ์ŠคํŒ…์ด๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ Swift์˜ ํƒ€์ž… ์บ์ŠคํŒ…์ด๋ผ๋Š” ์šฉ์–ด๋ฅผ ์ฒ˜์Œ ์ ‘ํ–ˆ์„ ๋•Œ๋„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํ˜• ๋ณ€ํ™˜์„ ๋– ์˜ฌ๋ ธ๋Š”๋ฐ...ํด๋ž˜์Šค ๊ณ„์ธต ๊ตฌ์กฐ์—์„œ ์ธ์Šคํ„ด์Šค์˜ ํƒ€์ž…์„ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ํŠน์ • ํƒ€
0
0
a year ago
6 min read

[Swift] GC๊ฐ€ ์—†๋‹ค๊ณ ..? ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์˜ ์„ธ๊ณ„Python์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ Swift๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์˜ ์‹ ์„ธ๊ณ„๋ฅผ ๊ฒฝํ—˜ํ•˜๊ฒŒ ๋๋‹ค. Python์—์„œ๋Š” GC ๋•๋ถ„์— ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ๊ฑฑ์ •ํ•  ์ผ์ด ๊ฑฐ์˜ ์—†์—ˆ๋Š”๋ฐ, Swift์—์„œ๋Š” ARC๋ผ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋ฐฉ์‹์ด ์‚ฌ์šฉ๋˜๊ณ (๋ฌผ๋ก  Python๋„ Reference Counting์€ ์‚ฌ์šฉํ•˜์ง€๋งŒ..), ์ด๊ฒŒ ์ƒ๊ฐ๋ณด๋‹ค ์‹ ๊ฒฝ ์“ธ ๊ฒŒ ๋งŽ์•˜๋‹ค.์ด ๊ธ€์—์„œ๋Š” Swift์˜ ๋ฉ”
0
0
a year ago
19 min read

[Swift] ์ ‘๊ทผ ์ œ์–ด์ž์™€ (set) ํ™œ์šฉ์ ‘๊ทผ ์ œ์–ด์ž๋Š” ์ฝ”๋“œ์˜ ํŠน์ • ๋ถ€๋ถ„์„ ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ฑฐ๋‚˜, ํŠน์ • ๋ชจ๋“ˆ์ด๋‚˜ ํŒŒ์ผ ๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ์–ดํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. Swift์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 6๊ฐœ์˜ ์ ‘๊ทผ ์ œ์–ด์ž์™€ (set) ํ‚ค์›Œ๋“œ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค.๊ธฐ๋ณธ ์ ‘๊ทผ ์ œ์–ด์ž์ ‘๊ทผ ์ œ์–ด์ž์„ค๋ช…์ ‘๊ทผ ๊ฐ€๋Šฅ ๋ฒ”์œ„open๋ชจ๋“  ๋ชจ๋“ˆ์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํด๋ž˜์Šค ๋ฐ ๋ฉค๋ฒ„ ์žฌ์ •์˜ ๊ฐ€๋Šฅ์™ธ๋ถ€ ๋ชจ๋“ˆ๋‚ด๋ถ€ ๋ชจ๋“ˆpublic๋ชจ๋“  ๋ชจ๋“ˆ
0
0
a year ago
10 min read

[Swift] ํŒจํ„ด ๋งค์นญ์„ ํ™œ์šฉํ•œ ์ œ์–ด๋ฌธ - if case let, guard case letSwift์—์„œ๋Š” ํŒจํ„ด ๋งค์นญ์„ ํ™œ์šฉํ•˜์—ฌ ๊ฐ’์„ ์ถ”์ถœํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฌธ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค. ๊ทธ ์ค‘ if case let๊ณผ guard case let์€ ํŠน์ • ํŒจํ„ด๊ณผ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ’์„ ๋ฐ”์ธ๋”ฉํ•˜๋Š” ๋ฐ ์œ ์šฉํ•˜๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ๋‘ ๋ฌธ๋ฒ•์˜ ์ฐจ์ด์ ๊ณผ ์‚ฌ์šฉ๋ฒ•์„ ์ •๋ฆฌํ•œ๋‹ค.if case let ๋ฌธ๋ฒ•if case let์€ ํŠน์ • ํŒจํ„ด๊ณผ ๊ฐ’์ด ์ผ์น˜ํ•  ๋•Œ๋งŒ ์‹คํ–‰๋˜๋Š” ์กฐ๊ฑด๋ฌธ์œผ๋กœ, switch ๋ฌธ
0
0
a year ago
5 min read

[Swift] Class vs Struct ์–ธ์ œ ์‚ฌ์šฉํ• ๊นŒ?Swift์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์กฐ์ž‘ํ•  ๋•Œ Class(ํด๋ž˜์Šค)์™€ Struct(๊ตฌ์กฐ์ฒด)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‘˜์€ ๋น„์Šทํ•˜๋ฉด์„œ๋„ ์ค‘์š”ํ•œ ์ฐจ์ด์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ์—, ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ์œ„ํ•ด ์ž˜ ์„ ํƒํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Class์™€ Struct์˜ ์ฐจ์ด์ ๊ณผ ๊ฐ๊ฐ์„ ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์ •๋ฆฌํ•ด๋ณธ๋‹ค.Class์™€ Struct์˜ ์ฃผ์š” ์ฐจ์ด์ ํŠน์„ฑClassS
0
0
a year ago
9 min read

[Swift] ์ธ๋ฑ์Šค ๋ฒ”์œ„ ์ฒดํฌ๋ฅผ Swiftyํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•Swift์—์„œ ์ปฌ๋ ‰์…˜์˜ ์ธ๋ฑ์Šค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ฒดํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ์•ˆ์ „ํ•œ ์ธ๋ฑ์Šค ์ ‘๊ทผ์€ ํฌ๋ž˜์‹œ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ  ์ฝ”๋“œ์˜ ์•ˆ์ •์„ฑ์„ ๋†’์ด๋Š” ์ค‘์š”ํ•œ ์š”์†Œ์ด๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ์‹์„ ๋น„๊ตํ•˜์—ฌ ๊ฐ€์žฅ Swiftyํ•œ ๋ฐฉ์‹์ด ๋ฌด์—‡์ธ์ง€ ์‚ดํŽด๋ณด๊ฒ ๋‹ค.contains(_ :)๋ฅผ ํ™œ์šฉํ•œ ๋ฒ”์œ„ ์ฒดํฌ(0..<arr.count).contains(index)์žฅ์ ๊ฐ„๊ฒฐํ•˜๊ณ 
0
0
a year ago
3 min read

[Swift 6] ์ตœ์‹  ๊ธฐ๋Šฅ ๋ฐ ๊ฐœ์„  ์‚ฌํ•ญSwift 6์˜ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญSwift 6์—์„œ๋Š” ์ฝ”๋“œ ์•ˆ์ •์„ฑ์„ ๋†’์ด๊ณ  ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค.์ •์  ํƒ€์ž… ๊ฒ€์‚ฌ ๊ฐ•ํ™”Swift 6์—์„œ๋Š” ์ •์  ํƒ€์ž… ๊ฒ€์‚ฌ(Static Type Checking)๊ฐ€ ๋”์šฑ ๊ฐ•๋ ฅํ•ด์กŒ๋‹ค.ํƒ€์ž… ์ถ”๋ก ์ด ๋” ์ •ํ™•ํ•˜๊ฒŒ ๋™์ž‘ํ•˜๋ฉฐ, ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์‹ค์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ ๊ฐ์ง€ํ•˜๊ณ  ๊ฒฝ๊ณ ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.๋ถˆํ•„์š”ํ•œ ์•”์‹œ์  ๋ณ€ํ™˜
0
0
a year ago
6 min read

[Swift] ํ˜•๋ณ€ํ™˜(Type Conversion & Casting) ์ •๋ฆฌ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ณ€ํ™˜ (Primitive Type Conversion)Swift์—์„œ๋Š” ๋ช…์‹œ์  ํ˜•๋ณ€ํ™˜(Explicit Type Conversion)์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.์ฆ‰, Int -> String, Double -> Int๊ฐ™์€ ๋ณ€ํ™˜์„ ํ•  ๋•Œ ์ž๋™ ๋ณ€ํ™˜์ด ๋˜์ง€ ์•Š๊ณ , ์ง์ ‘ ๋ณ€ํ™˜์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค.์ •์ˆ˜(Int) โ†” ์‹ค์ˆ˜(Dobuel, Float) ๋ณ€ํ™˜์ •
0
0
a year ago
6 min read

[Swift] ๋ฌธ์ž์—ด(String) ๊ด€๋ จ ์ฃผ์š” ํ•จ์ˆ˜ ์ •๋ฆฌ๋ฌธ์ž์—ด ๊ธธ์ด ๋ฐ ํ™•์ธ ๊ด€๋ จ ํ•จ์ˆ˜๋ฌธ์ž์—ด ๊ธธ์ด ํ™•์ธ (count)๋ฌธ์ž์—ด์˜ ๊ธ€์ž ์ˆ˜ ๋ฐ˜ํ™˜let text = "Swift" print(text.count) // 5๋ฐฐ์—ด์ฒ˜๋Ÿผ isEmpty๋„ ๊ฐ€๋Šฅlet text = "Swift" print(text.isEmpty) // false๋ฐฐ์—ด์˜ ์š”์†Œ ๊ฐœ์ˆ˜ ํ™•์ธ๊ณผ ๋™์ผํ•œ ๋ฐฉ์‹let array = ["A", "B", "C"] pr
0
0
a year ago
8 min read

[Swift] Comparable, Equatable, Hashable ๋ฐ ์ฃผ์š” ํ”„๋กœํ† ์ฝœ ์ •๋ฆฌSwift์—์„œ ํ”„๋กœํ† ์ฝœ(Protocol)์€ ํŠน์ • ๊ธฐ๋Šฅ์„ ์ •์˜ํ•˜๊ณ , ์ด๋ฅผ ์—ฌ๋Ÿฌ ํƒ€์ž…์—์„œ ๊ตฌํ˜„ํ•˜๋„๋ก ํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ๊ฐœ๋…์ด๋‹ค.๊ทธ ์ค‘์—์„œ๋„ Comparable, Equatable, Hashable๊ฐ™์€ ๊ธฐ๋ณธ ํ”„๋กœํ† ์ฝœ๋“ค์€ ์ •๋ ฌ, ๋น„๊ต, ๋”•์…”๋„ˆ๋ฆฌ ํ‚ค ํ™œ์šฉ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.Comparable ํ”„๋กœํ† ์ฝœComparable์ด๋ž€?Comparable์€ ๊ฐ’์„ ๋น„๊ตํ•  ์ˆ˜ ์žˆ
0
0
a year ago
5 min read

[Swift] ๊ณ ์ฐจํ•จ์ˆ˜(Higher-Order Functions)Swift์—์„œ๋Š” ๊ณ ์ฐจํ•จ์ˆ˜(Higher-Order Functions)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด ๋ฐ ์ปฌ๋ ‰์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.๊ณ ์ฐจํ•จ์ˆ˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ๋Œ€ํ‘œ์ ์œผ๋กœ map, filter, reduce, compactMap, flatmap๋“ฑ์ด ์žˆ๋‹ค.๊ณ ์ฐจํ•จ์ˆ˜(Higher-Order Functions)๊ณ 
0
0
a year ago
4 min read

[Swift] ์˜ต์…”๋„(Optionals) ์ดํ•ดํ•˜๊ธฐ โ€“ ์–ธ๋ž˜ํ•‘, ๊ฐ•์ œ ์–ธ๋ž˜ํ•‘, ์˜ต์…”๋„ ๋ฐ”์ธ๋”ฉSwift๋Š” ์•ˆ์ „ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•ด nil ๊ฐ’์„ ํ—ˆ์šฉํ•˜๋Š” ํƒ€์ž…์„ ์˜ต์…”๋„(Optional)๋กœ ์ œ๊ณตํ•œ๋‹ค.์˜ต์…”๋„์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ๋Ÿฐํƒ€์ž„ ํฌ๋ž˜์‹œ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ  ์•ˆ์ •์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.์˜ต์…”๋„(Optionals)์ด๋ž€?์˜ต์…”๋„์€ ๊ฐ’์ด ์กด์žฌํ•  ์ˆ˜๋„ ์žˆ๊ณ  nil์ผ ์ˆ˜๋„ ์žˆ๋Š” ํƒ€์ž…์˜ต์…”๋„์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ’์ด ์—†์„ ๊ฐ€๋Šฅ์„ฑ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Œvar name: String? =
0
0
a year ago
5 min read

[Swift] os_log ์‚ฌ์šฉํ•˜๊ธฐos_log?Swift์—์„œ ๋กœ๊ทธ๋ฅผ ์ถœ๋ ฅํ•  ๋•Œ print๋‚˜ NSLog๋ฅผ ์ž์ฃผ ์‚ฌ์šฉํ•˜์ง€๋งŒ,print: ๋””๋ฒ„๊น… ์šฉ๋„๋กœ๋Š” ์ข‹์ง€๋งŒ ๋ฆด๋ฆฌ์ฆˆ ๋นŒ๋“œ์—์„œ๋„ ๋…ธ์ถœ๋˜์–ด ๋ณด์•ˆ์— ์ทจ์•ฝํ•จNSLog: ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ , ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Œ์ด๋ฅผ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒŒ ๋ฐ”๋กœ os_log์ด๋‹ค.์• ํ”Œ์—์„œ ๊ถŒ์žฅํ•˜๋Š” ๋กœ๊ทธ ํ”„๋ ˆ์ž„์›Œํฌ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ด๋ฉฐ, ๋ฆด๋ฆฌ์ฆˆ ๋นŒ๋“œ์—์„œ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ ๋ณด
0
0
a year ago
3 min read

[Swift] ์•ฑ ๊ฐœ๋ฐœ์—์„œ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์— ๋Œ€ํ•œ ์ดํ•ด (Swift ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ์™€ ARC ๊ฐœ๋…)Swift์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐStack: ์ง€์—ญ ๋ณ€์ˆ˜ ๋ฐ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ํ• ๋‹น๋˜๋Š” ๊ณต๊ฐ„Heap: ํด๋ž˜์Šค ๋ฐ ์ฐธ์กฐ ํƒ€์ž… ์ธ์Šคํ„ด์Šค๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ณต๊ฐ„Global: ์ „์—ญ ๋ณ€์ˆ˜ ๋ฐ ์ •์  ๋ณ€์ˆ˜์˜ ์ €์žฅ ๊ณต๊ฐ„Code: ์‹คํ–‰ ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋˜๋Š” ์˜์—ญARC(Automatic Reference Counting) ๊ฐœ๋…ARC๋Š” Swift์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ, ๊ฐ์ฒด๊ฐ€ ๋”
0
0
a year ago
1 min read

[Swift] ์ž๋ฃŒ๊ตฌ์กฐ ํ•™์Šต ๋ฐ ํ™œ์šฉ๋ฐฐ์—ด(Array)๋™์ผํ•œ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ €์žฅํ•˜๋Š” ๊ตฌ์กฐvar numbers = [1, 2, 3, 4, 5] numbers.append(6) print(numbers[0]) // 1๋”•์…”๋„ˆ๋ฆฌ(Dictionary)ํ‚ค-๊ฐ’ ์Œ์„ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐvar student: [String: Any] = ["name": "์ถ˜์žฅ", "age": 4] print(stu
0
0
a year ago
1 min read

[Swift] ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)ํด๋ž˜์Šค์™€ ์ธ์Šคํ„ด์Šคํด๋ž˜์Šค๋Š” ๊ฐ์ฒด๋ฅผ ์ •์˜ํ•˜๋Š” ์ฒญ์‚ฌ์ง„์œผ๋กœ, ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Œclass Person { var name: String var age: Int init(name: String, age: Int) { self.name = name self.age = age }
0
0
a year ago
2 min read

[Swift] ๊ธฐ๋ณธ ๊ฐœ๋… ๋ฐ ๋ฌธ๋ฒ• ํ•™์ŠตSwift๋ž€?Apple์ด ๊ฐœ๋ฐœํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ, ๊ฐ„๊ฒฐํ•˜๊ณ  ์•ˆ์ „ํ•˜๋ฉฐ ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚˜๋‹ค.iOS, macOS, watchOS, tvOS ๊ฐœ๋ฐœ์— ์‚ฌ์šฉ๋œ๋‹ค.๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜var: ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•œ ๊ฐ’let: ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฐ’var name: String = "์ถ˜์žฅ" // ๋ณ€์ˆ˜ ์„ ์–ธ (๊ฐ’ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ) let age: Int = 4 // ์ƒ์ˆ˜ ์„ ์–ธ (๊ฐ’ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅ)๊ธฐ
0
0
a year ago
2 min read



SwiftiosSwift 6ClassStrcutifguardํŒจํ„ด ๋งค์นญ์ ‘๊ทผ ์ œ์–ด์žAccess ControlARCType CastingConcurrency๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐCodingKeysJSONAPIStruct
์•„์ง ๋Œ“๊ธ€์ด ์—†์–ด์š”