iOS/UIKit

UIKit Day 1

ParkSeongGeun 2024. 1. 10. 13:35

01

Application 제작

  • UIKit로 제작→ command + shift + L : library 열기→ command + R → built & simulator 실행
  • → control + option + command + enter : assistant 키
  • → command + shift + Y : debug console 열기
  • storyboard
  • → 인터페이스 builder라고도 함.
  • Button 생성 시 plain → default로 style 바꾸기
  • Label → Text 출력용도
  • button → 누르면 동작
  • Missing constraints → 제약이 부족함
  • 화면 하나당 화면 하나를 관리하는 코드가 있다.
  • mainLabel.backgroundColor = #colorLiteral() // → 색상 쉽게 선택 가능, 이미지는 imageLiteral
  • 타입을 잘 모르겠으면 찾아서 복사 후 ‘.’ 입력하고 뭐 있는 지 보기

  • @IBOutlet, @IBAction
    • attribute
    • 이 변수에다가 컴파일러가 알 수 있도록 자세한 정보를 알려주는 것
    • interface builder에 대한 outlet
    • interface builder에 대한 action
  • 주의할 점
    • 잘못 만들었을 때
      1. 연결선을 먼저 끊기
      2. 그 다음에 해당 코드 지우기
      3. → 그냥 끊게 되면 코드 상으로는 남아있을 수 있음
      • 또는 inspector화면 맨 끝 항목에서 끊을 수도 있다.
//
    //  ViewController.swift
    //  MyFirstApp
    //
    //  Created by 박성근 on 1/9/24.
    //
    
    import UIKit
    
    class ViewController: UIViewController {
        
        @IBOutlet weak var mainLabel: UILabel!
    		// mainLabel이 바뀌게 된다면 IBOutlet 배출구를 통해 변경된 내용이 view에 반영된다.
    		// 코드상의 어떤 설정을 스토리보드로 전달하기 위한 키워드
        
    		// 앱의 화면에 들어오면 처음 실행시키는 함수
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view.
        }
    
        // 스토리보드 상에 이벤트(동작)이 일어나는 경우 어떤 함수를 호출하여 실행시킬 것인지 알려주는 키워드
        @IBAction func buttonPressed(_ sender: UIButton) {
            mainLabel.text = "안녕하세요"
            mainLabel.backgroundColor = #colorLiteral(red: 0.5843137503, green: 0.8235294223, blue: 0.4196078479, alpha: 1)
            mainLabel.textAlignment = NSTextAlignment.right
        }
        
    }

FrameWork

  • 각각의 목적을 가지고 있는 레고 Set
  • 프레임워크 : 개발자가 이미 짜여진 룰을 따라 작업을 하는 것
  • 라이브러리 : 미리 만들어놓은 필요부분을 사용하는 것
    • 프레임워크 → (rule) → 개발자 → (사용) → 라이브러리

import Foundation

  • 각각이 모두 Framework들
  • Swift 언어는 실제로 거의 아무것도 활용할 수 없음
    • print, Int/String/Double, 반복문, 조건문 …
  • Foundation Framework
    • Objective-C 언어와 관련된 기능 제공
    • NSString 등 Objective-C 관련 타입들
    • NSObject클래스 (추상 클래스 관련)
    • 앱을 만들때 반드시 필요한 기능들
    • → etc…
  • 앱을 만들면서 사용하게 될 Framework의 계층을 4개의 계층이라고 표현한다.
    1. Cocoa Touch Framework
      • 앱 개발 기초 / 필수적인 기능 등
    2. Media Framework
      • 다양한 미디어 기능 구현 필요 기능 등
    3. Core Services Framework
      • 시스템 서비스 제공 데이터 접근 등
    4. Core OS Framework
      • 보안 / 하드웨어 연동 등
반응형