목록분류 전체보기 (88)
iOS 개발일지

iOS 앱 개발자 데뷔 과정 14회차 #0. Memo - 화면전환 코드로 구현하기 (feat. NavigationController) 간단하게 정리하면 아래와 같은 과정의 코드를 작성한다. 스토리보드 찾기 ➡️ 뷰컨트롤러 찾기 ➡️ 화면 전환하기 여기서 bundle은 같은 xcode 파일 내에서는 nil로 작성한다. 그리고 이렇게 present 화면 전환 스타일을 설정할 수도 있다. 뷰컨트롤러에 네비게이션 컨트롤러를 임베드해 사용할 수도 있다. 2.5번의 저 과정을 거치면 전환되는 화면이 rootViewController가 된다. 마지막으로, didSelectRowAt 메서드를 통해 셀이 선택되었을 때 화면을 push시키는 코드이다. 이렇게 push를 통해 화면을 전환했을 경우 뒤의 화면들은 쭉 네비게이..

iOS 앱 개발자 데뷔 과정 13회차 #0. Memo - TableView Cell 높이 비율로 잡기 TableView는 스크롤이 가능하기 때문에 굳이 비율로 잡을 필요 있을까 싶지만, 이렇게 하면 된다. - 매개변수와 구조체를 활용해 cellForRowAt에서 효율적으로 데이터를 전달해보자 우선 간단하게 식판에 비유하면 아래와 같다. 1. 프로퍼티가 담겨있는 구조체(식판) 2. 프로퍼티 초기화시키기(식판에 반찬 받기) 3. TVC cellForRowAt (반찬 꺼내먹기) 어떤 타입의 변수가 필요한지를 프로퍼티에 선언하고, 뷰컨트롤러 파일 내에서 초기화를 시켜주는 것이다. 그 다음 movieList의 정보를 아래의 cellForRowAt 메서드 내부에서 사용하면 된다. 그리고, 이렇게 하는 방법도 있다...

iOS 앱 개발자 데뷔 과정 12회차 #0. Memo - enum과 CaseIterable enum을 선언할 때 CaseIterable이라는 프로토콜을 채택하면, enum을 프로토콜/배열처럼 활용할 수 있게 된다. 이 특성을 잘 활용하면 코드가 매우 간결해진다! 이런 식으로, cellForRowAt 외에도 numberOfSections, numberOfRowsInSection, titleForHeaderInSection 등 여러 메서드 내에서 활용이 가능하다. - 여러 개의 스토리보드를 연결하기 (feat. Storyboard Reference) Intro라는 이름의 스토리보드를 만들어서 흩어져있는 스토리보드들을 모아 스토리보드 레퍼런스로 탭바와 연결시켰다. 여기서 탭바와 함께 네비게이션 바도 쓰고 싶다..

iOS 앱 개발자 데뷔 과정 11회차 #0. Memo - TableView TableView는 반복되는 형식의 UI를 쉽게 만들 수 있는 특수한 View로, 리스트와 같은 형태로 사용된다. TableView에는 기본적으로 Section이 하나이며, 하나의 섹션에 하나 이상의 Cell이 위치하게 된다. Section은 TableView 내의 Cell을 용도에 따라 나눈 것이다. - TableViewController와, 일반 ViewController에 TableView를 넣는 것의 차이 전자는 RootView가 TableView이고, 후자는 RootView가 일반 View이다. 이 두 가지의 방법은 기능은 비슷하더라도 세세한 접근법이 다를 수 있다. 1. ViewController에서는 TableView..

iOS 앱 개발자 데뷔 과정 2주차 마무리 # Plus - 기념일 계산기 저장 기능 10회차 정리글에 작성했던 기념일 계산기 프로젝트의 날짜 오류에 대해서 다시 생각해보았다. 계속 실행을 해보니 표준시 기준이라기 보다 표준 날짜...? 기준인 것 같았다. (시간이 일정함) 하긴, DatePicker도 Clarendar도 결국 시간을 기록하는 객체가 아니기 때문에 당연하다면 당연한 것이었다. 그리고 오늘과 내일, 이틀이 동일하게 D0으로 뜨는 문제를 조금 차분히 관찰했더니 해결방법이 조금은 보이기 시작했다. 간단하게, 날짜가 항상 하루 밀리니까 기준시보다 이후의 케이스에는 -1을 입력해주면 되는 게 아닐까? 그렇게 한다면 굳이 날짜를 한국에 맞추고, 시간을 맞추고 할 필요 없이 사용자에게 올바른 값을 보여..

iOS 앱 개발자 데뷔 과정 10회차 #0. Memo - ViewController Transition : 화면 전환 VC간의 화면 전환을 Segue라고 하고, (아이폰에서 주로 사용하는) 전환 액션은 Show와 Present Modally이다. 네비게이션 컨트롤러와 함께 사용하는 Show(Push)는 상세 정보를 보여줄 때 주로 사용하며, 오른쪽에서 왼쪽으로 넘어온다. Modal은 새로운 정보를 보여줄 때 주로 사용하며, 아래에서 위로 올라온다. Modal에는 여러 세부 효과가 있는데 그 중 Over Full Screen은 네비게이션이나 탭바 영역을 무시하고 꽉 채워서 보여준다. iOS 13 이전의 Modal은 기본값이 Full Screen이다. - 팝업창 (처럼) 만들기 VC의 배경을 반투명하게(Op..

iOS 앱 개발자 데뷔 과정 9회차 #0. Memo - Storyboard Reference : 다른 스토리보드랑 연결하기 작업을 하다 보면 ViewController가 지저분하게 너무 많아진다거나, 스토리보드를 분류하고 정리하고 싶을 때가 있을 것이다. 그럴 때 새로운 스토리보드를 만드는 것까지는 쉽지만, 서로 떨어져있는 ViewController끼리 어떻게 연결해야 할까? Storyboard Reference를 추가하면, 연결시킬 ViewController와의 창구 역할을 한다. 그리고 화면을 전환시키는 Action을 수행할 Button을 이 Storyboard Reference에 연결시키면, 연결된 ViewController와 같은 이름으로 바뀌는 것을 볼 수 있다. - 첫 화면 정하기 이제 화면이..

iOS 앱 개발자 데뷔 과정 8회차 #1. Checklist - Class 참조 타입이기 때문에 같은 클래스 인스턴스를 여러 변수에 할당한 뒤 값을 변경시키면 할당한 모든 변수에 영향을 준다. ARC로 메로리 관리를 하며, 상속과 오버라이드가 가능하다. Super Class, Sub Class : 상속하는 클래스, 상속받는 클래스 Inheritance : 슈퍼 클래스의 속성과 메소드를 서브 클래스가 물려받는 것 Override : 슈퍼 클래스에서 상속할 메서드, 프로퍼티, 서브스크립트를 서브 클래스에서 재정의하는 것 - Struct 클래스와 유사하지만 값 타입이기 때문에 같은 구조체를 여러 변수에 할당한 뒤 값을 변경시켜도 다른 변수에 영향을 주지 않는다. Swift의 데이터 타입과 열거형은 모두 Str..