Step by Step

Swift 기본문법(2) 옵셔널 바인딩, 초기화 본문

ios 앱 개발

Swift 기본문법(2) 옵셔널 바인딩, 초기화

짤진이 2025. 3. 25. 09:30
반응형

옵셔널 체인은 옵셔널 타입으로 정의된 값이 하위 프로퍼티나 메서드를 가지고 있을 때 if구문을 사용하지 않고 간결하게 사용할 수 있다.

 

//만약 Human 구조체를 다른 구조체나 클래스가 프로퍼티로 사용한다면
//코드가 훨씬 복잡해진다.
struct Company {
var ceo : Human?
var companyName : String?
}
var startup : Company? = Company(ceo:
Human(name: "정찬진", man: false), companyName:"멀티캠퍼스")
//옵셔널 타입을 해제하려면
if let company = startup {
if let ceo = company.ceo {
if let name = ceo.name {
print("대표이사의 이름은 \(name)입니다")
}
}
}

아래와 같이 옵셔널 체인을 (?.)을 사용하면 간결해진다.

startup이 nil이거나 ceo가 cil이거나 name이 nil이면 바로 빠져나간다.

3개의 값이 전부  nil이 아니면 if구문의 내부 코드가 실행된다.

 

if let name = startup?.ceo?.name {
print("대표이사의 이름은 \(name)입니다")
}

초기화(init)

다른 언어에서는 생성자 메서드라고 부르는 부분을 swift에서는 init()메서드로 초기화 작업을 한다.

초기화 작업 -> 인스턴스가 가지고 있는 모든 저장형 프라퍼티들의 최초값을 설정해서 새로운 프라퍼티를 사용할 수 있게함.

 

 

class Employee
{
var name:String?
var title:String?
var phoneNumber:String?
//지정 초기화 메소드
init(name:String) {
self.name= name
}
//편의 초기화 메소드
convenience init(name:String, title:String,
phone:String) {
self.init(name:name)
self.title= title
self.phoneNumber= phone
	}
}
반응형

'ios 앱 개발' 카테고리의 다른 글

Delegate 패턴  (0) 2025.03.26
ViewController 간 Data 교환  (0) 2025.03.26
Swift(Segueway 화면전환)  (2) 2025.03.26
Swift 기본문법(3)  (1) 2025.03.25
Swift 기본 문법 정리  (0) 2025.03.24