1일 차

Dzeko·2021년 6월 29일

Swift 기본

목록 보기
2/20
post-thumbnail

Swift의 변수 선언

상수는 let 으로 선언한다
변수는 var 로 선언한다

네이밍 규칙

  1. 숫자로 시작하지 않음
  2. 이름에서 역할을 알 수 있어야 함
  3. 클래스의 이름은 대문자의 명사로 시작
  4. 함수나 메서드는 소문자의 동사로 시작
  5. 변수나 상수는 소문자의 명사로 시작

아웃렛 변수는 주로 클래스 선언문 바로 아래에 선언
액션함수는 주로 클래스의 맨 마지막에 선언

아웃렛 변수를 추가하는 소스

@IBOutlet var lblHello: UILabel!

  1. @IBOutlet으로 정의된 변수가 아웃렛 변수
    IB = Interface Builder
  2. var lblHello : 변수선언은 var
  3. UILabel! : 선언하고자 하는 변수의 타입. 레이블 객체에 대한 변수를 선언하는 것이니 UILabel 클래스 선

Strong / Weak

메모리 회수 정책을 나타내는 키워드. 기본적으로 강한참조.
weak로 참조하면 @IBOutlet weak var lblHello: UILabel! 처럼 변수선언 앞에 weak가 붙음
strong으로 선언된 변수는 다른 곳에서 참조하고 있는 경우 메모리에서 제거되지 않지만 weak로 선언된 변수는 다른 곳에서 참조되고 있어도 시스템이 임시적으로 메모리에서 제거할 수 있음.
— 나중에 더 찾아볼 것

액션 함수를 추가하는 소스

@IBAction func btnSend(_ sender: UIButton) {
lblHello.text = “Hello, ” + txtName.text!
}

  1. @IBAction : 객체의 이벤트를 제어하기 위해 사용하는 키워드, @IBAction으로 정의된 함수라고 함.
  2. func btnSend : 함수를 선언할때 func 키워드를 사용해서 선언함.
  3. (_ sender: UIButton) : 액션함수가 실행되도록 이벤트를 보내는 객체, 여기서는 버튼 객체에서 이벤트가 발생했을 때 액션함수를 실행시킬것이므로 UIButton 클래스 타입을 선택

옵셔널 변수

어떤 값이 존재하지 않는다는 것을 나타낼 때 사용.
변수가 nil(swift에서의 null)이거나 존재 여부를 알 수 없다는 것을 의미한다.
스위프트에서는 변수를 선언할 때 변수에 반드시 nil이 아닌 값을 할당해야 하지만 옵셔널 타입을 사용해 변수에 값이 없다는 것을 알릴 수 있음.
‘값이 없을 수 있다’는 의미로 변수 뒤에 ? 를 붙여준다.
옵셔널로 선언된 변수에 값이 할당되면 그 값은 ‘옵셔널에 래핑되었다’라고 하며, 이 값은 ! 를 사용하여 강제로 언래핑 하여 값에 접근할 수 있음

var index: Int?
index = 3
if index != nil {
	print(index!)
}

암묵적 언래핑

var index: Int!
index = 3
if index != nil {
	print(index)
}

 이러한 방법으로 옵셔널이 선언된다면 강제 언래핑이나 옵셔널 바인딩을 하지 않아도 값에 접근할 수 있다. 
암묵적인 언래핑으로 옵셔널을 선언하기 위해서는 느낌표를 사용하면 된다.

viewDidLoad

뷰를 불러왔을 때 호출되는 함수
https://developer.apple.com/documentation/appkit/nsviewcontroller/1434476-viewdidload

0개의 댓글