기록

xcode/swift/tutorial project : hello world 본문

Moblie/IOS

xcode/swift/tutorial project : hello world

youngyin 2022. 8. 3. 10:00

개요

아래는 첫 ios 프로젝트로, 에디터의 구성과 뷰를 익히기 위한 예제이다.

예제

1. install xcode

App Store에서 다운로드하거나 Apple 개발자 사이트에서 다운로드 하는 방법이 있다. App store에서 다운로드 실패하거나, 다운로드 속도가 너무 느린 경우, 개발자 사이트에서 다운로드 할 것을 권장한다. (다른 블로그를 보면 Xcode 의 설치가 제대로 되지 않아, 개발자 사이트에서 직접 다운로드 하는 사례를 자주 접할 수 있었다.)

2. create project



[storyboard]

  • UI를 쉽게 만들수 있고 앱의 흐름을 한눈에 볼 수 있음
  • 협업 시 스토리 보드 파일이 읽기 어려워 Merge Conflict 처리가 어려움

storyboard file 일부

[SwiftUI] : https://developer.apple.com/kr/xcode/swiftui/

  • Apple WWDC 19에서 공개
  • 코드를 작성하는 동시에 디자인 인터페이스가 생성되고 디자인 요소들이 코드로 생성
  • IOS 13 버전의 운영체제에서만 작동
  • 선언형 UI

[선언형 UI VS 명령형 UI]

  • 명령형 UI : UI 객체에 접근해 특성의 갱신을 명령 

  • 선언형 UI : UI 객체를 새로 생성

3. add view & event function

  • storyboard에 layout을 만든다.
  • command을 누른채로 ViewController에 view를 끌어 놓는다.
    • Storage는 auto reference count를 의미한다.
    • Connection을 Action으로 두면 버튼 클릭시 이벤트를 지정할 수 있다.

Code

//  ViewController.swift

import UIKit

class ViewController: UIViewController {
    
    @IBOutlet var EtName: UITextField!
    @IBOutlet var TvHello: UILabel!
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    
    @IBAction func BtnSubmit(_ sender: UIButton) {
        TvHello.text = "Hello, " + EtName.text!
    }
}

결과

editText 영역에 name을 넣고 submit 버튼을 누르면, "hello, name"형태로 상단의 텍스트가 변경된다.

개선할 점

화면이 오른쪽에 치우쳐져 있는 결과를 얻었다. 이는 AutoLayout을 통해 개선할 수 있다. IOS는 auto reference count를 활용하여 메모리를 관리한다. 그 종류에는 week, strong, unknown이 있다.

이후에 AutoLayout의 활용과 uto reference count에 대해서 정리할 필요가 있다.

참고자료

https://developer.android.com/jetpack/compose/tutorial?hl=ko 

https://www.hohyeonmoon.com/blog/swiftui-tutorial-course-intro/

https://medium.com/@chan.henryk/storyboard-vs-programmatically-in-swift-9a65ff6aaeae

Comments