본문 바로가기
Flutter

Flutter개발중 안드로이드 개발자를 위한 iOS에 관한 기초지식들

by 붕어사랑 티스토리 2023. 11. 1.
반응형

1. iOS의 개발 방법 2가지

 

iOS의 경우 현재 개발방법이 2가지가 있다.

 

1. SwiftUI : Flutter와 마찬가지로 선언형 UI Framework이다

2. StoryBoard : 안드로이드의 xml과 유사한 방식으로 생각하면 된다. 명령형 UI 이다. 안드로이드 xml과 크게 다른점은, xml작성이 아닌 파워포인트 만드는것 처럼 UI를 만든다.

 

 

 

스토리보드에서는 하기개념을 알아야 한다

 

 

  1. UIViewController
  2. UIView
  3. UIControl

 

위에서 중요한개념은 View Controller와 View이다.

 

View Contoller는 대충 안드로이드의 액티비티라고 생각하면 된다

View의 경우 TextView 같이 자잘한 놈들이다.

Control의 경우 EditText처럼 입력 가능한 놈들이다.

 

2. ViewController의 라이프 사이클

액티비티의 라이프사이클이 중요하듯이 ViewController의 라이프 사이클도 중요하다

  • viewDidLoad(): View Controller의 뷰가 메모리에 로드된 직후에 호출. 뷰와 관련된 초기화 작업을 수행
  • viewWillAppear(_:): View Controller의 뷰가 화면에 나타나기 직전에 호출. 뷰가 나타나기 전에 필요한 작업을 수행
  • viewDidAppear(_:): View Controller의 뷰가 화면에 나타난 직후에 호출뷰가 나타난 후에 필요한 작업을 수행
  • viewWillDisappear(_:): View Controller의 뷰가 화면에서 사라지기 직전에 호출.뷰가 사라지기 전에 필요한 작업을 수행
  • viewDidDisappear(_:): View Controller의 뷰가 화면에서 사라진 직후에 호출.뷰가 사라진 후에 필요한 작업을 수행
  • deinit: View Controller가 메모리에서 해제될 때 호출. View Controller와 관련된 리소스를 정리

 

 

 

3. IBOutlet, IBAction이 뭐지?

안드로이드의 경우 xml로 화면을 정의하면, 액티비티에서 이를 읽어와 뷰를 다룰 수 있다. iOS에서도 마찬가지이다. 하지만 안드로이드보다 훨씬 편하다

스토리보드에서 control + 드래그를 통해 View를 끌어다가 ViewController의 코드에 놓으면, 자동으로 코드가 생성되면서 스토리보드와 ViewController가 연결된다.

 

 

아래가 자동생성되는 코드의 예시

 

 

이때 두가지 형태가 있다.

 

 

IBOutlet : 뷰의 외형을 다루고 싶을 때 사용한다.

IBAction : 뷰의 이벤트를 정의하고 싶을 때 사용한다. 예를들어 터치이벤트

 

스토리보드 우측 사이트패널에 가장 오른쪽 동그란 메뉴를 클릭하면 연결된 상태를 볼 수 있다.

 

 

 

4. LaunchScreen 스토리보드는 뭐지?

 

스플래쉬뷰 같은거다. 아래와 같이 타겟 설정에서 Launch Screen File 지정해주면 사용 가능하다

 

 

 

info에서도 이름을 맞춰주자

 

 

 

5. 첫 시작 스토리보드 설정하기

 

런치스크린이 스토리보드에서 AppDelgate의 application 메소드 작업이 끝나면 메인 스토리보드로 넘어가게 된다. 런치스크린에서 넘어갈 스토리보드를 지정하는 방법은 Info에서 설정이 가능하다.

 

 

 

 

 

6. 모달이 뭐야?

 

한 화면에서 다른화면을 넘어가거나 할 때 가 있다. 여기서 iOS는 모달이라는 개념이 있는데 ViewController가 화면을 전부 가리지 않고, 일부만 가린다. 또하나의 특징으로 뷰컨트롤러를 호출환 부모와 독립적으로 운영된다.

 

 

모달뷰는 preset 메소드로 호출하고, 일반적인 네비게이션의 형태로 뷰를 호출하려면 pushViewController를 이용한다

반응형

댓글