ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [7주차] Xcode 사용법 및간단한 iOS앱 개발
    iOS프로그래밍기초 2024. 10. 17. 16:52

    1. xcode Ios프로젝트 시작

    2. 번들아이디는 반드시 고유해야한다.

    번들아이디가 고유 식별자라고함

     

    서버단은 구글의 파이어베이스를 가장 많이씀

     

    use core data 하면 dbms 를 사용할 수 있는듯

     

    include test  테스트코드를 할꺼냐

     

    깃 레파지토리에 버전관리를 할꺼냐
    중요) create를 했을 때 내 앱에대한 여러가지를 체크하는 페이지

    xcode 초기화면

     

    minimum diployment : 최소ios버전   - 어떤 사람들은 기기성능때문에 ios버전을 높이지 못하는 사람들도 있다.

     

    3가지 방향

    아이폰-오리엔테이션

    화면 돌리기 , 왼쪽오른쪽 일반 3가지 화면이 체크되있음

    upside down - 180 뒤집기는 많은 경우 체크하지 않음 - 전화등 다른 앱의 기능에 문제가있음

     

    왼쪽은 네이게이터 영역

    왼쪽은 네이케이터 영역이다.

    뷰영역에 있다.

    이미지의 왼쪽은 프로젝트 네이게이터다

     

    오른쪽의 화면은 inspectors 화면이다.

     

     

    시뮬레이터의 키보드

     

     

    시뮬레이터 앱에서 소프트웨어 키보드를 꺼내는법

    3번째 탭의  토클소프트웨어 키보드



    2. 뷰 컨트롤러.스위프트의  소스

    import UIKit // UIKit 프레임워크를 가져와서 iOS 앱의 UI 요소들을 사용할 수 있게 함
    
    // ViewController라는 클래스를 정의하고, 이 클래스는 UIViewController를 상속받음
    class ViewController: UIViewController {
    
        // viewDidLoad는 뷰 컨트롤러의 뷰가 메모리에 로드된 후 호출되는 메소드
        override func viewDidLoad() {
            super.viewDidLoad() // 부모 클래스의 viewDidLoad 메소드를 호출하여 상위 클래스의 초기 설정을 수행함
            
            // 추가적인 초기 설정을 여기서 할 수 있음
        }
    
    }

     

     

     

     

     

    컨트롤 누르고 코드에 넣기 : 선이나오면서 놓으면됨

     

     

     

    버튼 : 액션을 구현하는법

     

     

    //
    //  ViewController.swift
    //  HelloHong
    //
    //  Created by Induk CS on 2024/10/17.
    //
    
    import UIKit // UIKit 프레임워크를 가져와서 iOS 앱의 UI 요소들을 사용할 수 있게 함
    
    // ViewController 클래스 정의, UIViewController를 상속받아 iOS 화면 관리를 담당
    class ViewController: UIViewController {
        
        // UILabel 아울렛을 선언, Interface Builder에서 연결된 lblHello가 가리킴 (HelloHong 라벨)
        @IBOutlet weak var lblHello: UILabel!
        
        // UITextField 아울렛을 선언, Interface Builder에서 연결된 txtName가 가리킴 (이름 입력 필드)
        @IBOutlet weak var txtName: UITextField!
        
        // UIButton의 액션 메소드를 선언, 버튼이 눌리면 호출됨
        @IBAction func btnSend(_ sender: UIButton) {
            // lblHello 라벨의 텍스트를 txtName 필드에 입력된 텍스트로 변경
            lblHello.text = txtName.text
        }
        
        // 뷰가 메모리에 로드된 후 호출되는 메소드
        override func viewDidLoad() {
            super.viewDidLoad() // 부모 클래스의 viewDidLoad 메소드를 호출하여 상위 클래스의 초기 설정을 수행
            
            // 추가적인 초기 설정을 여기서 할 수 있음
        }
    }

    @ : at sign  , 골뱅이 진짜 이름

     

    - xcode가 디자인 + 코드를 해주지만역사적으로 디자인과 코드가 분리되어있었음

     

    - 인터페이스 빌드 : 디자인하는 부분

     

    - xcode에서 @가 들어가는 부분들은 인터페이스 빌드다.  =  디자인과 관련된 부분이다.

     

     

     

     

     

    3. 초보 때 많이나오는 오류

     

     

     

    커넥션 인스팩터에서 확인해보면

    outlets에 중복연결이 있는걸 볼 수 있다.

     

    label : Label

    lblHello : Label 이 되있는데   딕셔너리,오브젝트 처럼 한쌍의 키:벨류로 이루어져야하는데  , 여러 연결이 생겨셔 그렇다.  오류에 x를 눌러서 없애준다.

     

     

    4. 안전하지 않게 옵셔널 풀기

     

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

    Hello 와 텍스트를 합치는 코드  // Hello,홍길동

     

     

    5. 아이콘 추가

    1024 x 1024 만 가능함

     

    6. 런치스크린 추가

    앱이 로딩되는 동안 보여줄 화면을 제작한다.

    HelloHong.zip
    2.25MB

Designed by Tistory.