[swift] Optional
·
swift
옵셔널 (Optional) Optional의 정의 "선택적인"이라는 뜻을 가지는 어떠한 변수에 '값이 있을 수도 없을 수도' 있는 경우에 사용하는 기호 위에서 설명했듯이 값이 없을 수 있는 상황에서 옵셔널을 사용한다. 옵셔널을 2가지의 경우를 나타낼 수 있다. 지정된 타입의 값이 있고 옵셔널을 언래핑하여 해당 값에 액세서할 수 있거나, 값이 전혀 없는 경우이다. 예를 들어 isThisNumber라는 변수에 타입을 지정하지 않은 "123"을 넣는다고 했을 때, convertedNumber에 Int로 타입캐스팅을 하여 할당한다면 convertedNumber의 타입은 무엇인가? Int로 타입캐스팅을 했다고 Int가 나올 것이라는 대답을 틀렸다. let isThisNumber = "123" let convert..
[swift] Function
·
swift
함수 (Function) 함수는 독립적인 코드 블록으로, 특정 작업을 수행하고 값을 반환하거나 부가적인 기능을 한다. 전역 범위에서 정의되거나 특정 타입 내에 포함될 수 있다. 함수는 'func' 키워드를 사용하여 정의되며, 함수 이름, 파라미터, 반환 타입 및 실행할 코드를 포함한다. 메서드 (Method) 메서드는 특정한 타입에 속함 함수로, 해당 타입의 인스턴스에 의해 호출된다. 메서드는 해당 타입의 인스턴스에 대해 작동하거나 변경하는 데 사용된다. 메서드는 함수와 비슷한 구문을 가지지만, 특정 타입에 속해 있으며 해당 타입의 인스턴스를 수정할 수 있다. 함수 선언 함수 이름은 유니크해야 한다. 파라미터와 반환 유형은 선택적이다. (없어도 된다.) func 함수이름(파라미터1: 타입, 파라미터2: ..
[swift] Loops
·
swift
swift에는 여러가지 반복문이 존재한다. 여기엔 작업을 여러 번 수행하는 while, 특정 조건에 따라 코드의 다른 분기를 실행하는 if, guard, switch, 실행 흐름을 코드의 다른 지점으로 전송하는 continue, break와 같은 제어문이 포함된다. For-In Loops (for문) 배열의 항목, 숫자 범위 또는 문자열의 문자와 같은 시퀀스를 반복할 때 사용한다. 딕셔너리를 반복하여 key-value에 접근할 수도 있다. 위와 같은 경우엔 튜플로 값이 반환되고, 딕셔너리는 순서가 없으므로 반복문을 돌린다고 해서 순서대로 출력되지 않는다. let names = ["Kim", "Park", "Lee"] for name in names { print("Hello, \(name)!") } //..
[swift] Collection
·
swift
array (배열) 배열이란 여러 개의 데이터를 담아 놓는 변수이다. [ ]를 사용하여 선언한다. 배열 내부의 값에 접근하기 위해선 index를 사용해야한다. (index는 0부터 시작) // 빈 배열도 선언 가능하다. 배열의 선언 방법은 여러가지가 있지만 난 이 방법이 가장 편해서 사용했다. var emptyArr: [String] = [] var tempArr: [String] = ["Kim","Park","Lee","Sim"] print("\(tempArr[0])") // Kim 출력 dictionary (딕셔너리) 딕셔너리란 배열과 유사한 형태를 띄고 있지만 각각의 값이 key값을 들고 있는 형태의 변수이다. 배열과 다르게 index로 접근하지 않고 key값을 통해 접근한다. 접근하고 싶은 key..
[swift] 변수와 타입
·
swift
Variable & Constant (변수와 상수) 변수는 변할 수 있는 값 변수는 var 키워드를 사용해서 선언한다. 상수는 변하지 않는 값 상수는 let 키워드를 사용해서 선언한다. // 변수 var temp = "Hello, world" temp = "Hello, swift" // 변수는 값을 변경 가능 // 상수 let temp2 = "Hello, world" temp2 = "Hello, swift" // 에러 발생. 상수로 선언된 값은 변경할 수 없다. String & Booleans (문자열과 불리언) swift의 변수는 다양한 타입을 저장할 수 있다. 변수에 어떠한 타입이 지정되면 다른 타입을 입력할 수 없다. (타입 캐스팅 필요) String은 문자열을 나타내는 타입 Bool은 불리언 타입..