본문 바로가기

IOS

Swift: array, dictionary, set, tuple, enum Array - [] 를 이용해서 선언 - 개별 아이템 접근시 index를 이용 - index 범위 내에서 잘 처리될 수 있도록 구현 - 0부터 시작 빈 배열 선언 var arr: [Int] = [] var arr2 = [Int]() Dictionary - Key : Value 형태로 저장되는 자료구조 - Any : 어떠한 타입이 들어와도 괜찮다. 빈 딕셔너리 선언 var dic: [String: Any] = [:] var dic2 = [String: Any]() Set - 값을 담는 자료구조인데, 중복된 데이터는 무시되는 자료구조 선언 var primes: Set = [2, 3, 4, 5] var evens = Set([2, 3, 4, 5, 5, 2]) // 타입 선언이 되지 않는다면 (소괄호) 안에 [.. 더보기
문자열 관리 1) 자료형 변환 - 문자열을 Int형으로 변환할 땐 Int()로 변환하면 됩니다. 하지만 문자열 자체가 nil일 가능성이 있기 때문에 옵셔널 변수를 사용해야 합니다. let myString7 = "123" let myStrToInt: Int? = Int(myString7) // nil이 발생할 수 있기 때문에 자료형 선언할 때 옵셔널 변수 둘 것 (?) - Int형으로 관리된 것을 Float형으로 변환하려고 할 때에도 마찬가지로 Float를 넣어주면 됩니다. 마찬가지로 여기서는 myStrToInt 상수가 myString7을 받을 때 nil일 가능성을 염두하여 옵셔널 변수를 사용했으므로 Float로 변환할 때에도 이 상수는 nil이 아니다! 라고 강제 언래핑을 해줘야 합니다. let myFloat: Fl.. 더보기
반복문 스위프트는 기존 for문 구조를 따르지 않습니다. 기존 for문 구조는 for(초기화; 조건문; 증감값)인데, 스위프트는 파이썬과 비슷한 느낌으로 다음과 같이 구현됩니다. 문제1) 1부터 35까지 반복해서 출력하세요 --> ... 로 범위를 나타내고 for - in 구조로 반복문을 구현합니다. for i:Int in 1...35 { print(i) } 문제2) 1부터 35까지 3씩 증가시켜서 출력하세요 --> stride 함수를 사용하고, from, to, by를 입력해서 조건에 맞게 출력하도록 한다. for i:Int in stride(from: 1, to: 35, by: 3) { print(i) } 문제3) 35부터 1까지 거꾸로 출력하기 --> reversed() 함수를 사용하는데, 그 전에 범위로.. 더보기
옵셔널 변수 스위프트 언어의 특징 중 하나인 옵셔널(Optional) 변수를 활용한 널(Null) 체크를 진행하는 법을 확인해보겠습니다. 자바에서 가장 많이 나는 Exception으로 NullPointerException이 있는데 옵셔널 변수를 활용하면 이러한 빈도를 눈에 띄게 줄일 수 있습니다. var myNum1: Int = 10 // 10이라는 실제값으로 초기화 했으므로 nil이 아님 var myNum2: Int? = nil // 명시적으로 null일 수도 있음 --> 옵셔널 변수 선언 앞에 예제는 명시적으로 값을 넣어 초기화한 경우는 널체크를 할 필요가 없지만 구체적인 값을 명시하지 않을 경우 옵셔널 변수를 통해 널 체크를 하면 됩니다. (myNum2 처럼) 허나, myNum2를 출력하면 오류가 날 것입니다... 더보기