Feed
Explore
Ranking
Search
Ctrl+K
์ผ
์ผ์น
/
๐ฆ Swift
Search...
๐ฆ 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 let
Swift์์๋ ํจํด ๋งค์นญ์ ํ์ฉํ์ฌ ๊ฐ์ ์ถ์ถํ๋ ๋ค์ํ ๋ฌธ๋ฒ์ ์ ๊ณตํ๋ค. ๊ทธ ์ค 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
Swift
ios
Swift 6
Class
Strcut
if
guard
ํจํด ๋งค์นญ
์ ๊ทผ ์ ์ด์
Access Control
ARC
Type Casting
Concurrency
๋์์ฑ ํ๋ก๊ทธ๋๋ฐ
CodingKeys
JSON
API
Struct
์์ง ๋๊ธ์ด ์์ด์