[RC]4주차를 진행하면서 생긴 의문에 대한 해답 + 멘토님의 조언

iOSoo·2021년 10월 9일
0
post-thumbnail

1. Model을 만들 필요가 있나?

Model을 만드는 이유는 여러가지가 있다.

  • 시작점을 만들어준다.

    앱을 만들때는 Model 즉, 우리가 사용할 데이터가 무엇인지 먼저 파악하고 그 다음에 UI를 구성하는 것이 일을 효율적으로 할 수 있게한다.

  • 데이터를 가공할 수 있도록 해준다.

    보통 혼자 앱을 만들면 머리로만 기획을 한다. 하지만 회사에서 프론트엔드 개발자는 정해진 룰(어떤 데이터, 어떤 디자인으로 만들어라)에 의해서 앱을 만들기를 시작할 것이다.

    이때 데이터의 원천은 Server에서 날라오는데 이 데이터 를 올바르게 받기 위해서는 이 데이터의 Type에 맞게 Model을 만들 수 밖에 없다. 그래야 해당 Type으로 가공을 할 수 있기 때문이다.

    공장에 비유하자면 공장(서버)에서 똑같은 물건(데이터)만 찍어낼 수 있는 상태이다. 따라서 소비자(클라이언트)는 정해진 물건(데이터)의 형태로만 물건을 받을 수 있다.

    이렇게 되면 좋은점을 물건(데이터) 내부에 무엇이 있는지 알 수 있다. 이렇게 되면 소비자(클라이언트)는 그 물건(데이터)에 무엇이 있는지 알게 되어 마음대로 가공을 할 수 있게된다.

    Swift로 예를 들면 해당 데이터를 UILabel에 어떻게 보여줄지, 사용자가 Text를 클릭할 때 Text를 변경해서 서버가 준 pakage에 다시 전달하는 형식으로 가공을 할 수 있다.

    코드로의 예시

class ViewController: UIViewController {
	var data = [1, 2, 3]
    //현재 이 코드는 Int라는 Data를 만들고 Int Array라는 Data 관리개체를 만든 것이다.
}

//메모를 예로들면 
struct Memo { //Memo라는 타입을 만든 것
	var title: String
    var content: String
    //Memo라는 주제로 묶인 데이터를 여러개를 관리할 수 있다. 
}

다시 말하면 한 주제로 묶인 여러 데이터를 모두 관리하기 위해서 Model을 생성

2. Model을 생성해서 데이터는 어떻게 저장하는가?

Model은 순전히 Type이기 때문에 Model 자체만으로는 CRUD가 되지 않는다.

  • 이때 필요한게 Data manager이다.

    Data manager라고 부르는 게 좋지만 ViewModel, Service라고 부른는게 좋다. ViewModel이라고해서 MVVM을 사용해야한는 것이 아니라 ViewModel은 보여주기위한 View의 Model일 뿐이다.

조언

https://opentutorials.org/course/1189/10015

profile
애플을 좋아하는 비전공생

0개의 댓글