카테고리 없음

iOS 3주차(0919)

taeho1630 2024. 9. 19. 16:51

변수 선언시 var를 사용하며, 다른 언어에서 +역할을 스위프트에서는  \(출력하고 싶은 변수나 상수)가 대신 한다

상수 선언시 let를 사용하며, 변하지않는 값은 코드의 효율성과 실행 성능을 높이기 위해서 변수(var)보다는 상수(let)를 사용하라고 권장

변하는 값을 var가 아닌 let으로 선언할 경우 오류가 발생함

 

튜플 실습 예제

연산자

증가 연산자와 감소 연산자는 ++, --가 아닌 +=, -=을 사용한다

비교 연산자에서 ==을 값을 비교하고 ===은 메모리 주소를 비교한다

 

닫힌 범위 연산자는 x...y로 x에서 시작하여 y로 끝나는 범위에 포함된 숫자이며, ...을 사용한다

반 열린 범위 연산자는 x..<y로 x부터 시작하여 y가 포함되지 않는 모든 숫자이며, ..<을 사용한다

 

실행 결과

for 문

다른 언어에서 쓰이던 증가 for문은 스위프트에선 없어진 문법이다  ex) ( for var i = 0; i < 10; i+=1 { print(i) )

대신 for 상수명 in 컬렉션 또는 범위 { // 실행될 코드 } 를 사용한다

for 문 다음의 실행 코드가 한 줄이라도 괄호({})를 필수적으로 사용

terminator는 출력 후 마지막에 들어가는 글자를 정해준다 예시에는 띄어쓰기가 들어가 있어서 띄어쓰기가 되어서 출력된다

for x in 1...5 {
    print(x, terminator: " ")
}
1 2 3 4 5 

 

whlie문

 

for 반복문은 몇 번 정도 반복해야 할지 아는 경우에 적합하고

조건을 만족할 때까지는 반복해야 하는 경우 while 반복문 사용

var i = 10
repeat {
i=i-1
print(i) 
} while (i > 0)


9
8 7 6 5 4 3 2 1 0

for i in 1..<10 {
if i > 5 break
print(i)
}

제어문(수정중)

 

optional 

옵셔널형 선언 : 자료형 뒤?

옵셔널 언래핑 : 변수명 뒤! (nil일 경우 언래핑하면 크래쉬가 발생한다)

 

if x!=nil이라고 쓰면 오류가 발생하고 올바른 사용법은 if x!= nil처럼 한칸 이상 떨어뜨려야 한다
Int!처럼 같이 언래핑하는 다른 방법으로 Int!보다 더 좋은 방법이다

var x : Int?
x = 10
if let x=x {
    print(x)
}
else {
    print("nil")
}

두 가지 상황 다 모두 똑같이 실행 결과가 10으로 풀어져서 나온다(xx=x도 똑같이 결과가 나온다)

var x : Int?
var y : Int?
x = 10
y = 5
if let xx=x, let yy=y {
    print(x,y,xx,yy)
}
else {
    print("nil")
}

콤마를 이용해서 한번에 풀 수도 있다. 이 예제도 위의 사진과 같이 x=x 혹은 x로 똑같이 실행 가능하다

var x : Int?
x = 10
//x = x+2 오류발생
var y : Int!
y = 20
y = y+2
print(x,y)

Int!는 옵셔널 선언하는 다른 방법으로 Int?로 선언하면 옵셔널 변수로 정수의 값을 연산할 수는 없지만

Int!로 선언하면 정수의 값을 연산할 수 있다(컴파일러가 알아서 자동으로 풀어준다)

위의 코드 실행 결과

nil병합 연산자는 ??

옵셔널 변수의 값이 nil이면 ?? 다음 값으로 할당되고 nil이 아니면 언래핑된 값이 나온다

사용 방법  옵셔녈 변수 ?? 값이 없을떄(nil일 경우) 할당할 값을 적음

let defaultAge = 1
var age : Int?
age = 3
print(age) 
var myAge = age ?? defaultAge
print(myAge) 
var x : Int? = 1
var y = x ?? 0
print(y)

실행결과