class Dog{
var age : Int
var height : Double
func display(){
print("나이=\(age), 키=\(height)")
}
init?(age: Int, height: Double){
if age <= 0 || height <= 0 {
return nil
}
else {
self.age = age
self.height = height
}
}
}
var mango : Dog? = Dog(age:1, height:3.5)
//1-1.옵셔널 형으로 선언
if let mango1 = mango { //1-2.옵셔널 바인딩
mango1.display()
}
//2.인스턴스 생성과 동시에 옵셔널 바인딩
if let poppy = Dog(age:5, height:10.2) {
poppy.display() //나이=5, 키=10.2
}
//3.인스턴스 생성하면서 바로 강제 언래핑
var nala : Dog = (age:5, height:0)!
nala.display() //결과X
//4.옵셔널 인스턴스를 사용시 강제 언래핑
var daisy : Dog? = Dog(age:-1, height:53.2)
daisy!.display() //결과X
참고 : iOS프로그래밍기초(21년-2학기) 한성현 교수님 강의 및 강의 자료 변형, 요약
'iOS > Swift이론' 카테고리의 다른 글
[iOS]Swift 개념! Optional이란? (0) | 2022.01.06 |
---|---|
Swift 문법 공부를 위한 웹사이트 (0) | 2022.01.05 |
Swift)iOS프로그래밍 : 가감승제 함수, print format 소수점 (0) | 2021.10.22 |
Swift) iOS프로그래밍 : 문법정리 (0) | 2021.10.17 |
Swift)iOS프로그래밍 : extension, access modifier, enum (0) | 2021.10.15 |