[Swift] 함수와 클로저
·
iOS/Swift
보호되어 있는 글입니다.
[Swift] 옵셔널(Optional)
·
iOS/Swift
옵셔널(Optional)Swift가 가진 가장 큰 특징 중 하나가 바로 옵셔널(Optional)이다. 이 옵셔널은 값이 있을 수도 있고 없을 수도 있다는 것을 나타낸다. 예를 들어 문자열의 값이 있으면 "가나다"가 되지만, 값이 없다면 ""가 될까? 답은 아니다. ""도 엄연히 값이 있는 문자열이라고 할 수 있다. 값이 없는 문자열을 nil 이라고 한다. 또 다른 예를 들어 정수형의 값이 있으면 100과 같은 값이 존재할 것이다. 값이 없다면 0이 될까? 0은 0이라는 숫자 '값'이기 때문에 값이 없는 정수 또한 nil 이다. 하지만 모든 변수에 nil을 넣을 수 있는 것은 아니다.var name: String = "Soo"name = nil 'nil' cannot be assigned to type '..
[Swift] 조건문과 반복문
·
iOS/Swift
조건문조건을 검사할 때에는 if, switch를 사용한다.var age = 20var student = ""if age >= 8 && age  if문의 조건절에는 값이 정확하게 참, 거짓으로 나오는 Bool타입을 사용해야 한다. Swift는 타입 검사를 엄격하게 하기 때문에 다른 언어에서는 사용 가능한 !number 같은 코드는 사용하지 못한다.  !number 대신 number == 0을 사용하면 컴파일 에러가 나지 않는 것을 확인할 수 있다. 빈 문자열이나 배열 등을 검사할 때도 길이가 명확하게 0인지 아닌지를 검사해야 한다.if name.isEmpty { ... }if languages.isEmpty { ... }   반복문switchSwift의 switch구문은 Java와는 다르게 패턴 매칭이 가..
[Swift] 변수와 상수
·
iOS/Swift
변수와 상수변수(variable)는 값을 수정할 수 있고 상수(constant)는 값을 수정할 수 없기 때문에 Swift에서는 안전하게 상수를 사용하는 것을 권장하고 있다. 변수는 var로 선언하고, 상수는 let으로 선언한다.var name = "Soo"let birthYear = 2024 var로 선언한 name은 이름을 바꾸고 싶을 때 바꿀 수 있지만, 태어난 해를 바꾸려고 할 땐 컴파일 에러가 발생한다.name = "Sooo"birthYear = 2023 // Compile Error!Cannot assign to value: 'birthYear' is a 'let' constant  let 키워드로 선언된 상수의 값을 변경할 수 없다는 에러이므로 바뀌면 안 되는 값은 상수로 정의해두자.  Sw..