일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- libasm
- javascript
- JPA
- IOS
- CD
- CI
- sql
- swift
- 스프링부트
- Xcode
- 오블완
- 42seoul
- Spring
- MySQL
- 아이패드다이어리
- 오라클
- 티스토리챌린지
- 데이터베이스
- 다이어리
- 리눅스
- 스프링
- 프로그래밍언어론
- DBMS
- 소켓
- jenkins
- 인공지능
- AI
- 스프링부트 웹 소켓
- springboot
- 네트워크
- Today
- Total
Hi yoahn 개발블로그
[Swift] #1 스위프트 코드 기본 설명 본문
//
// ViewController.swift
// Scene-Trans02
//
// Created by ooo on 2020/12/15.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet var uiTitle: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func sayHello(_ sender: Any) {
self.uiTitle.text = "Hello, World!"
}
}
1. import UIKit
- UIKit
앱 화면을 구성하는 데에 필요한 모든 객체들이 포함된 프레임워크
2. class ViewController: UIViewController
- UIViewController 클래스 상속받아 ViewController라는 새로운 클래스를 정의
UIViewController 클래스는 UIKit 프레임워크에 정의되어 있는 클래스로, 기본 뷰 컨트롤러를 구현하는 핵심 클래스
뷰 컨트롤러를 정의하려면 이 클래스를 상속받거나 이 클래스를 상속한 다른 클래스를 상속받아야 한다.
3. override func viewDidLoad()
- 부모클래스에 정의되어 있는 메소드
- 뷰의 로딩이 완료되었을 때 시스템에 의해 자동으로 호출된다. 일반적으로 리소스를 초기화하거나 초기 화면을 구성하는 등 처음 한 번만 실행해야 하는 초기화 코드는 대부분 이 메소드 내부에 작성
부모 클래스에 정의되어있는 메소드를 재정의 하는 것 : override
4. [레이블 연결] @IBOutlet var uiTitle: UILabel!
- 인터페이스 빌더의 레이블을 스위프트 클래스가 참조할 수 있도록 연결된 멤버 변수로, 아울렛 변수라고 부른다.
- @IBOutlet 키워드: 인터페이스 빌더에 관련된 속성이라는 것을 알려주는 어노테이션
- uiTitle 변수: 뷰 컨트롤러에 추가했던 레이블과 직접적으로 연결되어 있음. 이 변수의 속성을 변경하면 화면상에 있는 레이블에도 그대로 반영된다.
5. [버튼 연결] @IBAction func sayHello(_ sender: Any) {
버튼 연결은 설정용 팝업 창에서 Connection 항목의 값을 Action으로 설정해야 한다. 그래야 터치했을 때 발생하는 이벤트를 연결하는 것이기 때문이다.
- Connection 항목이 Action 이기 때문에 추가되는 코드가 메소드의 형태이다.
6. 앱 시작 화면
프로젝트 설정 부분에서 App Icons and Launch images 부분에 시작 화면 파일의 이름이 입력되어 있다. .storyboard 확장자가 빠져있는 형태)
6-1. AppDelegate.swift
- AppDelegate 클래스
이 클래스는 앱 전체의 실행 흐름을 컨트롤하는 객체로서 앱이 처음 실행되거나 종료될 때, 혹은 백그라운드 상태로 들어가거나 포그라운드 상태로 활성화될 때 호출되는 메소드들로 구성되어있다.
- application(_:didFinishLaunchingWithOptions:)
: 앱이 처음에 실행될 때, 필요한 시스템적 처리를 모두 끝내고 메인 화면을 표시하기 직전에 호출된다.
(앱이 맨 처음 실행될 때 시작 화면이 모바일 기기의 스크린에 표시된 후 이 메소드가 호출되고, 이 메소드 내부에 작성된 내용이 모두 실행되고 나면 Main.storyboard 파일의 화면이 스크린에 표시)
-> application(_ application: UIApplication,,)
"_" 가 있는 매개변수는 함수 호출 시 인자 레이블을 생략 가능하다.
- sleep(_:)
프로세스의 실행을 지연할 초(Second) 단위 값
'프로그래밍 언어 > swift' 카테고리의 다른 글
[Swift] #4 다양한 표현 및 확장 2 (클로저/프로퍼티) (0) | 2021.01.20 |
---|---|
[Swift] #3 다양한 표현 및 확장1 (구조체 / 클래스 / 열거형) (0) | 2021.01.20 |
[Swift] #2 Swift 기초 문법 2 (0) | 2021.01.19 |
[Swift] #1 Swift 기초 문법 1 (0) | 2021.01.19 |
[Swift] #2 iOS 앱의 구조와 코코아 터치 프레임워크 (0) | 2020.12.16 |