๐ Swift ์์ ๋ฌธ์์ด index ์ ๊ทผ์ ๋ํ์ฌ Swift ์์ ๋ฌธ์์ด์ ์ด๋ป๊ฒ ์กฐํํ ๊น ? swift์์ ๋ฌธ์์ด์ ์ ์ index๋ก ์กฐํํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ๊ทธ๋ฌ๋ฉด Swift์์๋ ์ด๋ค ๋ฐฉ์์ผ๋ก ์กฐํํด์ผ ํ ๊น ? String.Index๋ฅผ ์ฌ์ฉํด์ ์ ๊ทผํ๋ค. // ์ ์ธ let str = "hello world!" // ์กฐํ str[str.startIndex] // 'h' str[str.endIndex] // '!'๊ฐ ๋์ฌ์ง ์์๊ฒ ์ง๋ง ์๋ฌ ๋ฐ์ var idx = str.index(str.startIndex, offsetBy: 6) str[idx] // 'w' // ๋ฐ๋ณต๋ฌธ์ ์ธ๋ฑ์ค์ฒ๋ผ ๋ฝ์ ์ฌ์ฉํ๋ ค๋ฉด indicies ๋ฉ์๋ ์ฌ์ฉ for i in str.indices { print(str[i]) // ..
๐ ๋ฌธ์์ด ๋ด ํน์ ๋ฌธ์ ๋ณ๊ฒฝ (์นํ) ReplacingOccurrences ๋ฌธ์์ด์ ๋์ฒดํ์ฌ ์ ๋ฌธ์์ด์ ๋ฐํํ๋ค. - of target : ๋ฐ๊ฟ ๋ฌธ์์ด - with replacement : ๋์ฒดํ ๋ฌธ์์ด ์ฌ์ฉ์์ let str = "Bye Nice to meet you" let result = str.replacingOccurrences(of: "Bye", with: "Hello") print(result) // "Hello Nice to meet you" of: ์ ์๋ "Bye"๋ฅผ "Hello"๋ก ๋ณ๊ฒฝํ๋ ์ฝ๋์ด๋ค.
๐ ๋ฌธ์์ด ์ฒ๋ฆฌ ๋ฉ์๋ split components Split split๋ฉ์๋๋ ๋ค์ํ parameter๋ฅผ ์ง์ํ๋ค. ๊ฐ๊ฐ์ ์ญํ ์ ๋ค์๊ณผ ๊ฐ๋ค. - separater : ์ชผ๊ฐ๋ ค๋ ๋ฌธ์ ๋จ์ - maxSplits : ์ง์ ํ ๋ฌธ์ ๋จ์๋ก ์ผ๋ง๋ ์ชผ๊ฐค์ง - omittingEmptySubsequences : Bool๊ฐ์ผ๋ก ๊ฒฐ๊ณผ๊ฐ์์ ๋น ์ํ์ค์ ํฌํจ ์ ๋ฌด๋ฅผ ์ค์ ์ฐธ๊ณ : https://zeddios.tistory.com/232 split์ ๋ง ๊ทธ๋๋ก ๋ฌธ์์ด์ ํน์ ๋ฌธ์ ๊ธฐ์ค์ผ๋ก ์ชผ๊ฐค ์ ์๋ค. ๋ฐํํ์ Stringํ์ ์ [Substring]์ผ๋ก ๋ฐํํ๊ฒ ๋๋ค. ๋ฐฐ์ด์ ๋ฐํ๋ฐ๊ฒ ๋๋ ๊ฒ์ด๋ค. ๋ํ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ค์ด๊ฐ์๋ค. ๋๋ฌธ์ ๋ฐ๋ก import Foundation์ ํ ํ์์์ด ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. let ..
๐ ๊ณ ์ฐจํจ์ Map Filter Reduce ๊ณ ์ฐจํจ์๋ ? ๋ค๋ฅธ ํจ์๋ฅผ ์ ๋ฌ์ธ์๋ก ๋ฐ๊ฑฐ๋ ํจ์์คํ์ ๊ฒฐ๊ณผ๋ฅผ ํจ์๋ก ๋ฐํํ๋ ํจ์ ( = ๋งค๊ฐ๋ณ์๋ก ํจ์๋ฅผ ๊ฐ๋ ํจ์ ) Map ( ๋ณํ ) ๋ฐ์ดํฐ๋ฅผ ๋ณํํ๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ค. ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ๋ณํํ์ฌ ์๋ก์ด ์ปจํ ์ด๋๋ฅผ ๋ง๋๋๋ฐ, ๊ธฐ์กด ๋ฐ์ดํฐ๋ ๋ณํ๋์ง ์๋๋ค. Map์ ๊ธฐ์กด์ for-in ๊ตฌ๋ฌธ๊ณผ ํฐ ์ฐจ์ด๊ฐ ์์ง๋ง, ๋ค์๊ณผ ๊ฐ์ ์ด์ ์ด ์๋ค. ์ฝ๋์ ๊ฐ๊ฒฐ์ฑ ์ฌ์ฌ์ฉ ์ฉ์ด ์ปดํ์ผ๋ฌ ์ต์ ํ ์ฑ๋ฅ ์ข์ map์ ๊ธฐ๋ณธ ํํ array.map(transform:T throws -> T) Tํ์ ์ transform์ ๋ฐ์ ์๋ก์ด Txใ ์ ์ ์ปจํ ์ด๋๋ฅผ ์์ฑํ๋ค๋ ๋ง์ด๋ค. * ๊ธฐ์กด for - in ๊ตฌ๋ฌธ let numArray = [1,3,5,7,9] var multiArra..
๐ prefix suffix prefix ์ปฌ๋ ์ ์ ์ด๊ธฐ ์์๋ฅผ ํฌํจํ๋ ์ง์ ๋ ์ต๋ ๊ธธ์ด๊น์ง ํ์ ์ํ์ค๋ฅผ ๋ฐํํ๋ค. ์ต๋ ๊ธธ์ด๊ฐ ์์ ์๋ฅผ ์ด๊ณผํ๋ ๊ฒฝ์ฐ ๊ฒฐ๊ณผ์๋ ์ปฌ๋ ์ ์ ๋ชจ๋ ์์๊ฐ ํฌํจ๋๋ค. let numbers = [1, 2, 3, 4, 5] print(numbers.prefix(2)) // Prints "[1, 2]" print(numbers.prefix(10)) // Prints "[1, 2, 3, 4, 5]" ๊ด๋ จ ๋ฌธ์ prefix ๋ฅผ ์ด์ฉํ์ฌ ํผ๋ค๋ฉด ? import Foundation func solution(_ my_string:String, _ n:Int) -> String { return String(my_string.prefix(n)) } ๐ก my_string:prefix(n) ์์..
๐ String ๊ตฌ์กฐ์ฒด์ด๊ณ ๋ค๋ฅธ ์ธ์ด์ ๊ฐ์ด character๊ฐ ๋ชจ์ธ ์งํฉ Array() : ๋ฌธ์์ด -> ๋ฐฐ์ด ๋ฌธ์์ด์ ์์ ํ๋ํ๋๋ฅผ ๋ฐฐ์ด๋ก ๋ง๋๋ ๋ฐฉ๋ฒ. let name: String = "SWIFT" let arrName = Array(name) print(arrName) // ["S","W","I","F","T"] count() , empty() : ๋ฌธ์์ด์ ๊ธธ์ด ๊ตฌํ๊ธฐ let string: "A Unicode string value that is a collection of characters." print(string.count) // 58 let empty = "" print(empty.isEmpty) // true print(string.isEmpty) // false append() : ..
๐ ๋ฐฐ์ด์ ๋ค์ํ ๋ฉ์๋ ์ ๋ ฌ sort() sorted() sort()๋ ๊ธฐ๋ณธ์ ์ผ๋ก '์๋ณธ ๋ฐฐ์ด'์ ๊ฐ์ง๊ณ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ์ ํ๋ค. ๋ฌผ๋ก ๋ด๋ฆผ์ฐจ์์ผ๋ก๋ ์ ๋ ฌ์ด ๊ฐ๋ฅํ๋ค. ๋ง์ฝ, ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ์ ํ๊ณ ์ถ๋ค๋ฉด, sort(by:)๋ฅผ ์ฌ์ฉํด์ sort(by:>)์ ๊ฐ์ด ์์ฑํด์ฃผ๋ฉด ๋๋ค. sort(by:)๋ฅผ ์ฌ์ฉํด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ๋ ์๋ค. ๋ฐ๋ก sort(by:)๋ก ์์ฑํด์ฃผ๋ฉด ๋๋ค. sort์ ๋์ผํ๊ฒ sorted()๋ง ์์ฑํด์ฃผ๋ฉด ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋๋ค. ์ฝ๋์์ var arr = [ 1, 5, 2, 4, 3 ] // ๊ธฐ๋ณธ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ var sotredArr = arr.sorted() print(arr) // [1, 5, 2, 4, 3] print(sortedArr) // [1, 2, 3, 4,..
์๋ช ์ฃผ๊ธฐ ( LifeCycle ) ์๋ช ์ฃผ๊ธฐ๋ผ๋ ๊ฒ์ ์ฑ์ ์ต์ด ์คํ๋ถํฐ ์ฑ์ด ์์ ํ ์ข ๋ฃ๋๊ธฐ๊น์ง ์ฑ์ด ๊ฐ์ง๋ ์ํ์ ๊ทธ ์ํ๋ค ์ฌ์ด์ ์ ์ด๋ฅผ ๋งํ๋ค. ์ฑ์ ์ํ๋ ์ฑ์ด ํ์ฌ ์ด๋ ํ ๊ฒ์ ํ ์ ์๋๊ฐ๋ฅผ ๊ฒฐ์ ํ๋ค. ์ฑ์ ์๋ช ์ฃผ๊ธฐ ( App's Life Cycle ) App์ ์๋ช ์ฃผ๊ธฐ๋ APP์ ์คํ/์ข ๋ฃ ๋ฐ App์ด Foreground/Background ์ํ์ ์์ ๋, ์์คํ ์ด ๋ฐ์์ํค๋ event์ ์ํด App์ ์ํ๊ฐ ์ ํ๋๋ ๊ณผ์ ์ ๋งํ๋ค. ์นด์นด์คํก ์ฑ์ผ๋ก ์นดํก์ ํ๊ณ ์๋ ๋์ค์ ์ ํ๊ฐ ์์ ๋ ์ฑ์ด ํ๋ฉด์์์ ๋ณด์ฌ์ง์ง ์๋ ์ํ์ธ Background ์ํ์ ์ฑ์ด ํ๋ฉด์ ์ฌ๋ผ์์๋ ์ํ์ธ Foreground ๋ฑ๊ณผ ๊ฐ์ ์ํ๋ค์ ์ ์ํ ๊ฒ์ด๋ค. iOS์์ ์ฑ์ ์คํํ๋ฉด ๋ฌด์จ ์ผ์ด ๋ฒ์ด์ง๊น ? iO..