iOS

Swift 문법 - 2

mJay8194 2024. 3. 20. 16:46

<Xcode를 이용한 간단한 앱 제작>

1. 디자인

1.1. label의 속성 지정

 

2. class

2.1. class와 연결

 

3. 단축키

- 컨트롤 + 커맨드 + 알트 + 엔터: Assistant Editor on/off

- 커맨드 + r: 실행 

 

<문법>

1. optional

- optional type: 변수 또는 상수에 아무런 값이 할당되지 않는 상황을 안전하게 처리하기 위한 방법, 일반 옵셔널 변수에는 ?를 붙여 사용

- Implicitly Unwrapped Optional: 값을 갖는 등의 이유로 옵셔널로 사용되지 않을 경우 자동 언래핑, 변수 선언부에 !를 붙여 사용

- forced unwrapping: 변수 대입 시 !을 기입 후 강제적으로 옵셔널을 해제하며, 해당 변수의 값이 nil일 경우 오류가 발생

*예시 코드

var x : Int? //옵셔널 정수형 변수 x 선언
var y : Int = 0
x = 10
print(x) // Optional(10)
print(x!) // forced unwrapping해서 10이 나옴
print(y)
x = x! + 2
y = x!

- optional binding: 옵셔널에 할당된 값을 임시 변수 또는 상수에 할당하여 강제 언래핑하는 방법으로, 변수의 값이 nil이면 할당하지 않아 오류가 생기지 않음

*예시 코드

var x : Int?
x = 10
if let xx = x { //옵셔널 변수 x가 값(10)이 있으므로 언래핑해서 일반 상수 xx에 대입하고 if문 실행
	print(x,xx)
}
else {
	print("nil")
}
var pet1: String?
var pet2: String?
pet1 = "cat"
pet2 = "dog"
if let pet1, let pet2 {//다중 optional binding 및 short form 사용
    print(pet1, pet2)
} else {
	print("nil")
}

*guard-let을 사용한 예시 코드

 

 

- Nil-Coalescing Operator: 옵셔널 변수가 nil일 경우 할당하는 default 값 지정

*예시 코드

let defaultColor = "black"
var userDefinedColor: String? // defaults to nil
var myColor = userDefinedColor ?? defaultColor //??: nil-coalecing opertator
print(myColor) //black
userDefinedColor = "red"
myColor = userDefinedColor ?? defaultColor
//nil이 아니므로 원래 값인 red가 할당됨
print(myColor)

 

2. 함수

- argument label: 함수의 외부 변수 이름으로 정의 시 사용.

- argumet label의 일반적인 명명 규칙

(1) 첫 매개변수는 _를 사용하여 생략한다.

(2) 두번째 매개변수는 with를 보통 사용한다.

- parameter name: 함수의 내부 변수 이름, 호출 시 사용

*예시 코드

func add(first x: Int, second y: Int) -> Int {
	return(x+y)
}

add(first:10, second:20)

 

 

3. 그 외 Swift 특이 문법들

- if, for 제어문 중괄호 필수

- condition-list(조건나열) 사용

- switch-case문 break 내장

- switch case 내에 실행 문장 필수

 

 

 

 

 

*참고자료: iOS 프로그래밍 실무 - 한성현 교수님