17 Oct 2017
|
swift
iOS
๊ฐ์ ์ฐธ์กฐ Indirection
๊ฐ ์์ฒด๋ณด๋ค ์ปจํ
์ด๋, ์ฐ๊ฒฐ, ๋ณ๋ช
๋ฑ์ ์ฌ์ฉํด์ ์ฐํํ๋๋ก ์ฐธ์กฐํ๋ ๋ฐฉ์
๋ฉ์๋๋ ํจ์๋ฅผ ํธ์ถํ๋ ๊ฒ (ํจ์๋ฅผ ๋ง๋ค์ด๋๊ณ ํธ์คํธ์ฝ๋๊ฐ ํ์ํ ํจ์๋ฅผ ํธ์ถํ๋ ๊ณผ์ ): sub-routine
ํธ์คํธ์ฝ๋ : ํจ์๋ฅผ ํธ์ถํ๋ ์ฝ๋
let (์์) var (๋ณ์)์ ๊ฐ์ ๋ณ์์ ์ธ ๋ ํ ๊ฐ์ ์ฐธ์กฐ
์ค์ํํธ์ ๋ฐ์ดํฐํ์
: ๊ฐ์ฒด์ฒ๋ผ ๊ตฌ์๋์ด์์ด์ var a : Int = 99
์ด๋ฉด a._ _ _ ํ์๋ ์ฌ์ฉ๊ฐ๋ฅํ ํจ์๋ค์ด ๋์ด (์๋ฐ์์ ํด๋์ค์ ๋ฉ์๋ ํธ์ถํ๋ ๋ฐฉ๋ฒ)
๋ชจ๋ฐ์ผ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํญ์ ๋ถ์กฑํ๊ธฐ๋๋ฌธ์ ๋ฐ์ดํฐํ์
์ ๋ฉ๋ชจ๋ฆฌ๋ฌธ์ ๋ก, ๋ฐ์ดํฐํ์
์ ์ ํํ ๋ ๋ ์ ์คํด์ผํจ
ํ๋ณํ
Int(3.14) - 3.14๊ฐ Intํ์
์ผ๋ก ๋ฐ๋
Double(10) - 10์ด Doubleํ์
์ผ๋ก ๋ฐ๋
String ์๋ฅด๊ธฐ
var str = "Hello!"
let test = str.substring(from: str.index(str.endIndex, offsetBy : -2))
let test2 = str.substring(to: str.index(str.endIndex, offsetBy : -2))
index() ํจ์์ index / ๊ณต๋ฐฑ์ผ๋ก ๋ฌธ์์ด ๋๋๊ธฐ
์ ์ : index(of: โaโ) ํ๋ฉด a ๋ฌธ์๊ฐ ์ธ๋ฑ์ค ์์ฒด๊ฐ ๋์ด์ ๋ฌธ์์ด ์ธ๋ฑ์ค๋ก ๋ฆฌํดํ๋ ์๋ฏธ
public func index(of element: Character) -> String.Index?
//input ๋ฌธ์ฅ์ ๊ณต๋ฐฑ์ ์ธ๋ฑ์ค๋ก ํ๊ณ ์ถ์๋
var indexSet = input.index(of: " ") ?? input.endIndex
//์ด์ index๊ฐ " "์ผ๋ก, ๊ทธ ์์ฒด๊ฐ ์ธ๋ฑ์ค๋ก ์ ํด์ง ์ํ
//indexSet๊ธฐ์ค์ผ๋ก ์ฒซ ๋จ์ด๋ง ํ์
var firstWord = input[..<indexSet]
//indexSet ๊ธฐ์ค์ผ๋ก ๋ง์ง๋ง ๋จ์ด๋ง ํ์ํ๊ณ ์ถ์๋
var lastWord = input[input.index(after: indexSet) ..< input.index(before: input.endIndex)]
/*
input.index(after: indexSet) - input์ index(indexSet)๋ฐ๋ก ๋ค์ ์๋ ๋ฌธ์๋ฅผ ์ธ๋ฑ์ฑ
input.index(before: input.endIndex) - input์ ๋งจ ๋๊ธ์์ ๋ฐ๋ก ์์์๋ ๋ฌธ์๋ฅผ ์ธ๋ฑ์ฑ
*/
####