기본

· Dev Terms
프로그래밍 언어에서 1급 객체란 아래의 조건을 충족시키면 됩니다. 1. 변수나 데이터에 할당 할 수 있어야 한다. 2. 객체의 매개변수로 넘길 수 있어야 한다. 3. 객체의 반환값으로 리턴 할수 있어야 한다. Swift 기본타입들(Int, Bool, Struct, ...)은 물론 1급 객체이고, 함수 또한 1급 객체로 취급이 됩니다. 1. 변수나 데이터에 할당 // Int형 파라메터 2개를 받아서 Int를 반환하는 함수형을 선언 var mathFunction: (Int, Int) -> Int // Int값 두 개를 입력받고 Int를 반환하는 함수 func addTwoInts(_ a: Int, _ b: Int) -> Int { return a + b } // addTwoInts함수를 mathFunction..
· iOS/Swift
Swift의 Dictionary타입은 Foundation의 NSDictionary를 bridge한 타입. 빈 Dictionary 생성 var namesOfIntegers = [Int: String]() namesOfIntegers[16] = "sixteen" namesOfIntegers = [:] 리터럴로 Dictionary 생성 var airports: [String: String] = = ["YYZ": "Toronto Pearson", "DUB": "Dublin"] Dictionary 접근, 변경 print("The airports dictionary contains \(airports.count) items.") // 빈 Dictionary 확인 if airports.isEmpty { print("..
· iOS/Swift
Set은 Array와 유사하지만 같은 값을 또 넣을 수 없다는 특징이 있는 Collection Type입니다. '집합'을 표현하고 이에 대한 처리를 할 때 유용합니다. Set 형태로 저장되기 위해서는 반드시 타입이 hashable이어야 합니다. Swift에서 String, Int, Double, Bool 같은 기본 타입은 기본적으로 hashable입니다. Swift에서 Set 타입은 Set으로 선언. 빈 Set 생성 var letters = Set() letters.insert("a") letters = [] 배열 리터럴로 Set 생성 var favoriteGenres: Set = ["Rock", "Classical", "Hip hop"] // 타입 추론으로 생략 가능 var favoriteGenres:..
· iOS/Swift
배열의 생성 // 빈 배열 생성 var someInts = [Int]() // 3을 추가 someInts.append(3) // 배열을 비움. Type은 Int로 유지됨 someInts = [] 기본값으로 빈배열 생성 var threeDoubles = Array(repeating: 0.0, count: 3) // threeDoubles : Double 타입의 [0.0, 0.0, 0.0] 배열끼리 합 var anotherThreeDoubles = Array(repeating: 2.5, count: 3) // anotherThreeDoubles : [2.5, 2.5, 2.5] var sixDoubles = threeDoubles + anotherThreeDoubles // sixDoubles : [0.0, ..
· iOS/Swift
Swift의 네이티브 문자열 타입은 유니코드 스칼라 값으로 만들어져 있습니다. 하나의 유니코드를 21비트의 숫자로 구성되어 있습니다. 유니코드는 아래와 같이 결합을 시켜 사용할 수 있습니다. 유니코드의 결합 문자끼리의 결합 let eAcute: Character = "\u{E9}" // é let combinedEAcute: Character = "\u{65}\u{301}" // e + ́ // eAcute : é, combinedEAcute : é 문자와 심볼 심볼과 심볼 // 지역심볼문자인 U(1F1FA)와 S(1F1F8)를 결합 let regionalIndicatorForUS: Character = "\u{1F1FA}\u{1F1F8}" // regionalIndicatorForUS : 🇺🇸 마지막으..
· iOS/Swift
여러줄의 문자열을 쓰기 위해서는 쌍따옴표3개(""")를 사용하면 됩니다. let quotation = """ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. "..
· iOS/Swift
범위 연산자에는 닫힌 범위연산자, 반 받힌 범위연산자, 단방향 범위연산자가 있습니다. 닫힌 범위 연산자 (a...b)의 형태로 범위의 시작과 끝이 있는 연산자입니다. for index in 1...5 { print("\(index) times 5 is \(index * 5)") } // 1 times 5 is 5 // 2 times 5 is 10 // 3 times 5 is 15 // 4 times 5 is 20 // 5 times 5 is 25 반 받힌 범위연산자 (a..
· iOS/Swift
Swift를 사용하면서 ??연산자를 명칭에 대한 생각을 해본적없이 계속 자연스레 사용하고 있었는데요. 해당 연산자의 명칭을 확실히 하고자 포스팅을 합니다. 포스팅 제목에도 썼듯이 ?? 연산자는 'Nil 병합 연산자'라고 부릅니다. 명칭 정리를 한김에 형태는 아래와 같고 a ?? b a가 nil값일 때 b라는 값을 사용하게 됩니다. 해당 코드는 아래 코드의 축약형이라고 볼 수 있습니다. a != nil ? a! : b 용법은 아래와 같습니다. let defaultColorName = "red" var userDefinedColorName: String? // 이 값은 defaults 값 nil var colorNameToUse = userDefinedColorName ?? defaultColorName /..
· iOS/Swift
Swift에서의 비교연산자의 기본적인 내용은 타 언어의 그것과 같습니다. 나머지는 생략하고 튜플의 비교에 대해서 정리해봅니다. Swift에서는 같은 타입의 값을 갖는 두 개의 튜플을 비교할 수 있습니다. 튜플의 비교는 왼쪽에서 오른쪽 방향으로 이뤄지고 한번에 한개의 값만 비교합니다. 이 비교를 다른 두 값을 비교하게 될 때까지 수행합니다. 예시: (1, "zebra") < (2, "apple") // true, 1이 2보다 작고; zebra가 apple은 비교하지 않기 때문 (3, "apple") < (3, "bird") // true 왼쪽 3이 오른쪽 3과 같고; apple은 bird보다 작기 때문 (4, "dog") == (4, "dog") // true 왼쪽 4는 오른쪽 4와 같고 왼쪽 dog는 오..
SwiftyCody
'기본' 태그의 글 목록