728x90
๐ก Swift์ String์ Foundation ํ๋ ์์ํฌ์ NSString์ด bridge๋ ํ์ ์ด๊ธฐ ๋๋ฌธ์ NSString์ ๋ฉ์๋๋ฅผ String์์ ์บ์คํ ์์ด ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
๋ด๊ฐ ์ด ๊ธ์ ์ฝ์์ ๋ ์ดํดํ๊ฒ์ Foundation์์ NSString์ด ์์ด์ String์ ์ฌ์ฉํ ์ ์๋ค.
์ ํํ ์ดํดํ๊ธฐ ์ํด ๊ฒ์์ ํด๋ดค๋ค.
- bridge : Objective-C ๊ฐ์ ์ํธ ์ด์ฉ์ฑ์ ์ํด ์ ๊ณต๋๋ ๊ธฐ์ ๋ก, Swift ์ฝ๋์ Objective-C ์ฝ๋ ๊ฐ์ ์ํธ์์ฉ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
- Swift๋ Foundation ํ๋ ์์ํฌ์์ ๋์ ์ํธ ์ด์ฉ์ฑ์ ์ง์ํ๊ธฐ ์ํด, **String**๊ณผ NSString ์ฌ์ด์ ์๋์ ์ธ ํ์ ๋ณํ์ ์ ๊ณตํฉ๋๋ค. ๋ฐ๋ผ์ **String**์์ **NSString**์ ๋ฉ์๋๋ฅผ ํธ์ถํ ๋์๋, ์บ์คํ ์์ด ์ง์ ํธ์ถํ ์ ์์ต๋๋ค.
- NSString:
- ํด๋์ค
- ์ฐธ์กฐํ์
- ๋ฌธ์์ด์ ์ํ ๊ด๋ฒ์ํ API ์ ๊ณต (๋ฌธ์์ด ๊ฒ์ ๋ฐ ์์ )
- ์์ (String์์ NSString์ length ๋ฉ์๋๋ฅผ ํธ์ถ)
- let swiftString: String = "Hello, World!" let length = swiftString.length print(length) // ์ถ๋ ฅ: 13
๋ฌธ์์ด ๋ฆฌํฐ๋ด
- ๋ฌธ์์ด์ ํฐ ๋ฐ์ดํ๋ก ํํ
- ์ฌ๋ฌ์ค์ ๋ฌธ์์ด์ “””๋ก ๋ฌถ์ด์ ์ฌ์ฉ
- let a = """ fore exapmpel """
- ์ค๋ฐ๊ฟ์ \\ ์ฌ์ฉ
๋น ๋ฌธ์์ด ์ด๊ธฐํ
- ์๋ ์ฝ๋๋ ๋ชจ๋ ๊ฐ์ ๊ฐ
- var emtpryString = "" var anotherEmptyString = String()
- ๋ฌธ์์ด์ด ๋น์ด์๋ ์ฌ๋ถ๋ฅผ ํ์ธ
- if string.isEmpty {}
- ๋ฌธ์์ด ์์
let constantString = "Highlander" constantString += " and another Highlander" // ๋ฌธ์์ด ์์(let)๋ก ์ ์ธ๋ผ ์์ด ์๋ฌ๋ฐ์!
- var variableString = "Horse" variableString += " and carriage" // variableString = Horse and carriage
- ๋ฌธ์์ด์ ๊ฐ๋ณ๋ฌธ์ for-in loop ์ฌ์ฉํด ์ ๊ทผ
- for character in "Dog!๐ถ" { print(character) } // D // o // g // ! // ๐ถ
- ๋ฌธ์ ๋ฐฐ์ด์ ์ด์ฉํด ๋ฌธ์์ด์ ์ด๊ธฐํ ๋ฉ์๋์ ์ธ์๋ก ๋ฃ์ด ๋ฌธ์์ด์ ์์ฑํ ์ ์์
- let catCharacters: [Character] = ["C", "a", "t", "!", "๐ฑ"] let catString = String(catCharacters) print(catString) // Prints "Cat!๐ฑ"
- ๋ฌธ์์ด๊ณผ ๋ฌธ์์ ๊ฒฐํฉ
- let string1 = "hello" let string2 = " there" var welcome = string1 + string2 // welcome : "hello there" var instruction = "look over" instruction += string2 // instruction : "look over there" let exclamationMark: Character = "!" welcome.append(exclamationMark) // welcome : "hello there!"
- ๋ฐฑ์ฌ๋์ฌ ๊ดํธ๋ฅผ ์ด์ฉํด ์์,๋ณ์,๋ฆฌํฐ๋ด ๊ฐ์ ๋ฌธ์์ด์ ์ถ๊ฐ ๊ฐ๋ฅ
- let mutiplier = 3 let message = "\\(multiplier) times 2.5 is \\(Double(multiplier) * 2.5)" // message : "3 times 2.5 is 7.5"
๋ฌธ์ ์ธ๊ธฐ
๋ฌธ์์ด์ ๋ฌธ์์ ์์๋ฅผ ์ธ๊ธฐ ์ํด์๋ ๋ฌธ์์ด์ count ํ๋กํผํฐ๋ฅผ ์ด์ฉ
let unusualMenagerie = "Koala ๐จ, Snail ๐, Penguin ๐ง, Dromedary ๐ช"
print("unusualMenagerie has \\(unusualMenagerie.count) characters")
// "unusualMenagerie์ ๋ฌธ์๋ 40๊ฐ"
๋ฌธ์์ด ์ธ๋ฑ์ค
let greeting = "Guten Tag!"
greeting[greeting.startIndex]
// G
greeting[greeting.index(before: greeting.endIndex)]
// !
greeting[greeting.index(after: greeting.startIndex)]
// u
let index = greeting.index(greeting.startIndex, offsetBy: 7)
greeting[index]
// a
๋ฌธ์์ด ์ฝ์ ๊ณผ ์ญ์
๋ฌธ์์ ์ฝ์ ๊ณผ ์ญ์ ๋ insert(:at:), insert(contentsOf:at:), remove(at:), removeSubrange(:) ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฌธ์์ด๊ณผ ๋ฌธ์ ๋น๊ต
- == , != ์ฐ์ฐ์ ์ฌ์ฉ
์ ๋์ฌ์ ์ ๋ฏธ์ฌ ๋น๊ต
- hasPrefix(:)
- var act1SceneCount = 0 for scene in remeoAndJuliet { if scene.hasPrefix("Act 1 ") { act1SceneCount += 1 } } print("There are \\(act1SceneCount) scenes in Act 1") // There are 5 scenes in Act 1
- hasSuffix(:)
728x90
'๊ธฐํ > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] Swift ๋ฌธ๋ฒ(ํจ์ Functions) (1) | 2023.04.23 |
---|---|
[TIL] Swift ์ ์ด๋ฌธ (1) | 2023.04.22 |
[TIL] ์ ๊ทผ์ ๋ถ์ & ์ฌ์ ๊ณํ์ (0) | 2023.03.29 |
[TIL] ๊ธฐ๋ณธ ์ฐ์ฐ์(Basic Operators) & ๋ฐ์ดํฐ ๊ตฌ์กฐ (0) | 2023.03.28 |
[TIL] Switch๋ฌธ, ์ผํญ์ฐ์ฐ์, ๋ฐ์ดํฐ๊ตฌ์กฐ (0) | 2023.03.26 |