본문 바로가기

iOS 앱 개발자 프로젝트/iOS 숙련

[iOS] “Bean Mobility Korea” Application (Day-5 ദ്ദി '֊' )) + 기술 면접

어제(Day4)에 이어 오늘은 (와 벌써 Day 5!)

 

Stack View를 사용하여 guide화면의 xib. cell 의 autolayout을 잡고,

어제 나누었던 TableView 섹션마다 header를 넣어

각 섹션을 설명하는 머릿말을 넣어줍니다.

 

그리고 오늘 본 기술 면접 후기도 간단히 기록하여 해 봅니다.  ̗̀(˶'ᵕ'˶) ̖́- 


Stack View 를 사용하여 autoLayout 설정

 

먼저, Label로 잡은 두 taxt 레이블을 Stack View로 잡아 constraints를 주고,

 

 

위에서 잡은 Label Stack View와 Guide Image를 다시 Stack View로 잡아서 Constraints를 주었다. 

 

Stack View of Stack View.. of ..

 

제약을 줄 때 이 cell의 VC에서 내가 width와 height를 얼마로 주었는지를 기억하고 있으면 계산하기 수월하다.

예를 들어, 코드로 Heghit를 100으로 잡았다면

top에서부터 얼마를 주고, 중간에 얼마를 준 후, bottom 부분의 제약을 잡을 때 대략 계산이 나온다.

정답이 있는 것이 아니라 사람마다 익숙해진 스타일이 있을 듯 하다.

 

 

Headers 설정

 

let headers: [String] = ["이용방법", "라이더님과 다른 사람들을 위해 안전하게 주행하세요"]

 

    func numberOfSections(in tableView: UITableView) -> Int {
        return 2
    }
    
   func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        return headers[section]
    }

 

 

header를 넣으니 훨씬 깔끔하고 가독성이 높아졌다.

 

 

 

 

모의 기술 면접 후기

 

 

* 코어 데이터 처리 방식에 대해 말해보자. 

→ entity가 무엇이고, attribute가 무엇인지 개별적으로 설명했는데 그보다 큰 틀에서 관계성을 먼저 설명하고 이와 연결된 작은 범위로 설명하는 것이 듣는 사람 입장에서 이해하기 쉽다. 다시 두괄식으로 말하는 연습을 하자.

 

각 Entity에게 Relationship은 서로를 의미하게 되는데 1:1 또는 1:N이 가능합니다.

  • Editor Style 버튼을 누르면 Entity를 관계 그래프 형태로도 확인할 수 있습니다. 이 때 표현된 Entity 둘을 마우스를 통해 드래그를 하여 이어주면 Relationship을 쉽게 설정할 수 있습니다.

https://inuplace.tistory.com/1011 퍼옴

 

  • 데이터베이스 모델처럼 관계 타입도 설정할 수 있습니다. (To Many or To One)

https://inuplace.tistory.com/1011 퍼옴

 

 

* userdefault 써 보았나요? 

잘 설명하지 못했다. 내가 주도적으로 써본 적이 아직.. 없다. 하지만 일단 적어두자.! 

 

UserDefaults 쉽게 표현하면 "데이터 저장소" 입니다. 사용자 기본 설정 같은 단일 데이터 값에 적합합니다. 대량의 유사한 데이터 (테이블에 대한 레코드, 여러 사용자에 대한 데이터 ) 저장해야하는 경우에는 SQLite 데이터베이스가 적합합니다.

UserDefaults는 [데이터, (key)]으로 데이터를 저장합니다. 이때 key 값은 String. , 문자열입니다. 

 

 

* url session을 설명해 보세요. 

튜터님께서 핵심은 비동기와 그 장점에 대해 설명하면 좋겠다고 말씀하셨다.!

 

네트워크 데이터를 가져오거나 보내는 작업을 coordinate 하는 것.

위의 링크에서 URLSession을 사용하여 GET 요청을 보내는 예시 잘 알아두자. 

 

http  // Rest Api     별도 정리 예정

 

 

* 앱 화면의 콘텐츠를 표시하는 로직과 관리를 담당하는 객체는 무엇인가요?

 

 

UIViewController !

 

를 말할땐 언제나.!

 

뷰의 생명주기

 

앱의 생명주기

 

ViewIsAppearing

 

이제 보지 않고 한 번 말해봅니다..! :)