본문 바로가기

swift

값 타입의 널 처리 주의할 점

if let intValue = self.intValue { //self.intValue는 값타입 이기 때문에 intValue는 복사된 값이다.
	intValue += 3 
	self.intValue = intValue // 복사된 값이기 때문에 다시 할당 해줘야함
}

//guard 도 마찬가지
guard let intValue = self.intValue else { return }

intValue += 3

self.intValue = inValue
if let reference = self.reference { // self.reference는 참조 타입이라서 원본이 전달된다.
	reference.setProperty(frog: "개구리") // self.reference = reference 하지 않아도 된다.
}

//guard도 마찬가지
guard let reference = self.reference else { return }

reference.setProperty(frog:"개구리")

 

if let이나 guard let을 할 때 값 타입은 복사본이 전달되므로 다시 할당해주어야한다.

 

 

'swift' 카테고리의 다른 글

[iOS] NSCoder 생성 방법  (0) 2025.02.26
[Swift] UserDefaults.synchronize()  (0) 2025.02.04
5. 복습  (1) 2023.11.12
3. 데이터 타입 기본  (0) 2023.09.10
2. 변수  (0) 2023.09.10