상수는 let 으로 선언한다
변수는 var 로 선언한다
아웃렛 변수는 주로 클래스 선언문 바로 아래에 선언
액션함수는 주로 클래스의 맨 마지막에 선언
메모리 회수 정책을 나타내는 키워드. 기본적으로 강한참조.
weak로 참조하면 @IBOutlet weak var lblHello: UILabel! 처럼 변수선언 앞에 weak가 붙음
strong으로 선언된 변수는 다른 곳에서 참조하고 있는 경우 메모리에서 제거되지 않지만 weak로 선언된 변수는 다른 곳에서 참조되고 있어도 시스템이 임시적으로 메모리에서 제거할 수 있음.
— 나중에 더 찾아볼 것
@IBAction func btnSend(_ sender: UIButton) {
lblHello.text = “Hello, ” + txtName.text!
}
어떤 값이 존재하지 않는다는 것을 나타낼 때 사용.
변수가 nil(swift에서의 null)이거나 존재 여부를 알 수 없다는 것을 의미한다.
스위프트에서는 변수를 선언할 때 변수에 반드시 nil이 아닌 값을 할당해야 하지만 옵셔널 타입을 사용해 변수에 값이 없다는 것을 알릴 수 있음.
‘값이 없을 수 있다’는 의미로 변수 뒤에 ? 를 붙여준다.
옵셔널로 선언된 변수에 값이 할당되면 그 값은 ‘옵셔널에 래핑되었다’라고 하며, 이 값은 ! 를 사용하여 강제로 언래핑 하여 값에 접근할 수 있음
var index: Int?
index = 3
if index != nil {
print(index!)
}
var index: Int!
index = 3
if index != nil {
print(index)
}
이러한 방법으로 옵셔널이 선언된다면 강제 언래핑이나 옵셔널 바인딩을 하지 않아도 값에 접근할 수 있다.
암묵적인 언래핑으로 옵셔널을 선언하기 위해서는 느낌표를 사용하면 된다.
뷰를 불러왔을 때 호출되는 함수
https://developer.apple.com/documentation/appkit/nsviewcontroller/1434476-viewdidload