iOS 프로그래밍 9주차

CDH·2024년 10월 30일

앱은 보통 DB를 쓰느냐에 따라 프론트와 백을 나눈다


간단한 앱 만들어보기

앱 개발 절차 1단계 (프로젝트 설정)

new project -> iOS (+ 사진참조)

아래 사진과 같이 Git을 바로 연동할 수 있다

Minimum Deployments - 실행 가능한 최소 iOS 버전 (좀 낮춰서 하는 게 좋다)
Orientation - 내가 만든 앱이 스마트폰을 눕혔을 때 디자인을 돌아가게 할 것인가 (Upside Down은 대부분 안 씀)

iOS 버전 통계 - https://developer.apple.com/kr/support/app-store/


Project 의 Navigators 영역

Inspectors 의 영역은 7가지가 있다

placeholder

소프트웨어 키보드를 사용하고 싶다면 Simulator 의 I/O 부분에서 keyboard를 설정한다

Outlet 변수를 추가하는 방법 (Ctrl + 드래그)

text필드의 Outlet 지정

Action 버튼 설정

하나의 ui에 여러 개를 연결하면 아래와 같은 에러가 뜸

(중요!)해결 방법 : 연결이 중복되어 있으면 중복을 삭제해줘야 함

@ -> (at sign 이라고 부름)


참고: 디자인 쪽에서 연결 관계를 (IB 라고 명시적으로 표기함)

도움말 보는 방법 : (해당하는 부분을) Alt + 좌클릭

값을 출력해보면 옵셔널 값이 나온다

(에러) 옵셔널 값을 풀어줘야 된다

chatgpt 활용

import UIKit

class ViewController: UIViewController {
    
    @IBOutlet weak var label: UILabel!

    
    @IBOutlet weak var txtName: UITextField!
    @IBAction func btnSend(_ sender: UIButton) {
        label.text = "Hello, " + txtName.text!
        print(label.text, txtName.text)
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        print("aaaaa")
    }
}

모든 줄을 다 주석으로 설명해줘

결과

import UIKit // UIKit 프레임워크를 가져와 iOS 앱에서 UI 요소를 사용할 수 있도록 함

class ViewController: UIViewController { // UIViewController를 상속하는 ViewController 클래스 선언, 화면을 관리함
    
    @IBOutlet weak var label: UILabel! // 스토리보드의 UILabel을 연결하여 코드에서 참조 가능하게 함
    
    @IBOutlet weak var txtName: UITextField! // 스토리보드의 UITextField를 연결하여 코드에서 참조 가능하게 함
    
    @IBAction func btnSend(_ sender: UIButton) { // 버튼이 눌렸을 때 실행되는 함수, sender는 클릭된 UIButton을 의미
        label.text = "Hello, " + txtName.text! // label의 텍스트를 "Hello, "와 txtName의 텍스트로 설정
        print(label.text, txtName.text) // label의 텍스트와 txtName의 텍스트를 콘솔에 출력
    }
    
    override func viewDidLoad() { // viewDidLoad는 화면이 처음 로드될 때 호출되는 함수
        super.viewDidLoad() // 부모 클래스의 viewDidLoad를 호출하여 기본 설정을 수행
        // Do any additional setup after loading the view. 화면 로드 후 추가 설정이 필요할 때 사용
        print("aaaaa") // 콘솔에 "aaaaa"를 출력하여 viewDidLoad가 호출되었음을 확인
    }
}

14번 줄과 같이 breakpoint 를 걸었을 땐 드래그로 없앨 수 있다

업로드중..

0개의 댓글