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 |