didSet

Youn·2023년 2월 14일
0

iOS-Swift

목록 보기
11/11
post-thumbnail
var test = UITableView() {
	didSet {
	// 내부 코드 안불림 	
    }
}

@IBOutlet private weak var tableView: UITableView! {
	didSet{
     //불림
	}
}

ReferenceType vs Struct Type

1. ReferenceType (ex. Class)

class Person {
    var name = "youn"
}
var test: Person = Person() {
	didSet {
	  print("didSet called") 
    }
}
  • 인스턴스 자체를 변경할 때 불림
    test.name = "hi" // 안불림
    test = Person() // 불림

2. Value Type (ex. struct)

struct Person {
    var name = "youn"
}
var test: Person = Person() {
	didSet {
	  print("didSet called") 
    }
}
  • test.name = "hi" // 불림

Outlet 의 didSet

  • didSet 은 init 타임에 불리지 않음
  • outlet 의 경우 초기화 시점에 nil 로 세팅 됨
  • 해당 object를 nib 으로부터 가져올 때 다시 세팅, 값을 가짐
  • viewDidLoad 바로 전에 호출

참고

profile
youn

0개의 댓글