여러 데이터를 표현하기 위해선 다양한 방법으로 구현할 수 있습니다. 그 중에서 반복적인 형식의 데이터를 표현하는 방법 또한 여러 가지인데, 대표적으로 UICollectionView, UIPageViewController, UIScrollView가 있습니다. 각 뷰가 어떻게 동작하는지와 메모리의 관점에서 어떠한 특징을 보이고 있는지 학습하였고, 이를 기반으로 상황에 따라 어떠한 뷰를 사용할 지 정의하고자 합니다. UICollectionView동작 방식UICollectionViewCell을 기반으로 데이터를 리스트 또는 그리드 형태로 표시합니다.재사용 큐를 사용하며, 보이지 않는 셀은 메모리에서 로드 또는 제거되지 않고, 재사용됩니다.메모리 관점셀을 재사용하기 때문에 효율적입니다. UIPageViewCont..
FinaliOS 개발을 하다보면 Final 키워드를 붙여 클래스를 정의하는 경우를 볼 수 있습니다.final class NetworkManager { static let shared = NetworkManager() private init() {} ... }따라서 Final 키워드의 특징은 무엇인지, 어떠한 경우에 사용해야 할 지에 대해 학습하였습니다. 문법적 특징Final 키워드를 선언하게 되면 상속이 불가능해집니다. 만약 Final 키워드가 선언된 것을 상속하려고 하면 컴파일 에러가 발생합니다.Final 키워드를 사용하면 메서드, 프로퍼티, 서브스크립트의 오버라이드가 불가능해진다는 특징을 지닙니다. 만약 final 키워드가 선언된 곳에서 오버라이드를 진행하려고 하면 컴파일 에러가 발생합..
navigationItem.title과 관련하여 신기한 점을 발견하였습니다.// 1번navigationItem.title = "안녕하세요"// 2번navigationItem.title = "\(getNicknameFromUserDefaults() ?? "대장")님의 다마고치"// 3번let title = "\(getNicknameFromUserDefaults() ?? "대장")님의 다마고치"navigationItem.title = title1번과 같이 문자열 보간법이 없이 정의하면 해당 title이 backBarButtonItem이 나타나는데, 2,3번과 같이 문자열 보간법으로 title을 지정하면 ‘Back’버튼이 나오는 현상을 발견하였습니다. navigationItem.backBarButtonIte..
스토리보드를 학습하는 과정에서 스토리보드는 어떻게 실행되는 것인지에 대해 학습해보고자 합니다. 스토리보드에 대해 알기 위해선 XIB와 NIB에 대한 이해가 필요합니다. XIB란 Xcode Interface Builder의 약자로, 화면을 구성할 때 사용되는 XML 형식의 파일입니다. XML 파일이기 때문에 바이너리보단 사람이 이해하기 쉽고, 수정된 부분을 확인할 수 있어 소스코드로 관리할 수 있습니다. 직접 수정을 하기 위해선 XML 문법에 맞춰서 수정해야 하지만, Xcode에서 Interface Builder(스토리보드)를 제공하여 GUI 형태로 수정할 수 있도록 해줍니다. NIB는 Nextstep Interface Builder의 약자로, 화면을 구성하는 클래스들을 바이너리 형태의 압축 파일로 저장하..
이번 글은 UIKit 프레임워크를 스토리보드를 사용하지 않는 코드 기반으로 세팅하는 방법에 대해 알아보겠습니다. 스토리보드와 코드 베이스에는 장단점이 존재합니다. 우선 스토리보드의 장점은 어노테이션이나 컴포넌트와 관련된 코드를 줄일 수 있어 로직에 더욱 집중할 수 있습니다. 뷰가 복잡해질 수록 관리할 코드가 줄어들기 때문에 관리하게 편해집니다. 또한 오토 레이아웃을 시각적으로 보여주어 오류를 쉽게 파악할 수 있습니다. 단점은 스토리보드는 xml 기반이기 때문에 다른 개발자가 확인하기에 어렵다는 문제점이 있습니다. 스토리보드를 수정하고 PR를 요청했을 때, 다른 개발자가 코드만을 보고 변화를 확인하기 어렵다는 단점이 있습니다. 또한 뷰에 컴포넌트가 추가되어 복잡해질수록 파일이 무거워진다는 단점도 있습니다...