학교 공부/iOS 프로그래밍
실습 2-7 (교재 P.61) _____ 교재: 스위프트로 아이폰 앱 만들기 6판
_빌런
2022. 4. 4. 15:14
[ 코드에 들어가기 전에 ]
- 최신 MacOS는 Monterey 12.3.1이지만, Catalina 버전으로 실행한 결과이다.
- 최신 Xcode는 13.3이지만, Catalina에 맞는 9.4.1 버전으로 실행한 결과이다.
import UIKit
class ViewController: UIViewController {
@IBOutlet var lblHello: UILabel!
@IBOutlet var txtname: UITextField!
@IBOutlet var btnPush: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from nib.
}
@IBAction func btnPush(_ sender: UIButton) {
lblHello.text = "Welcome, " + txtName.text!
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
@IBOutlet
IBOutlet은 값에 접근하기위한 변수 선언이다. 선언해주는 값이기 때문에 DidLoad 이전에 선언한다.
이때 @는 어떤 속성을 가지고 있다고 하는 예약어이다.
@IBAction
IBAction은 Event가 일어난 경우 호출되는 Action을 정의해둔 것이다.
IB는 Interface Builder의 준말이다.
:UI~
어떤 UI를 가리킬 것인가를 지정해준다. :UILabel이라면 Label UI를 가리키라는 것이고,
:UIButton이라면 Button UI를 가리키라는 의미이다.
! / ?
Optional 항목이다. 말그대로 붙여도 되고, 붙이지 않아도 되는 항목이다.
!는 Nil 값이 절대 들어갈 리 없다고 확신하는 의미이고, ?는 Nil이 포함될 수도 있다는 의미이다.
viewDidLoad()
View가 로딩이 되고 난 뒤에 일어나는 일을 정리한 함수이다. 그러니까 앱이 실행되고 나서 실행될 함수를 적는 것이다.
로딩이 된 후에 실행을 하는 거지만, View 입장에서는 자기가 로딩이 된 것이 먼저 일어났으므로 DidLoad이다.