iOS(7)
-
Cell 재사용시 생기는 문제점 및 해결방법
테이블 뷰와 컬렉션 뷰를 설계할 때에는 셀을 재사용(dequeueReusableCell)하는 것을 볼 수 있습니다. 여기서! 왜 셀을 하나하나 만들어주지 않고, 하나의 셀을 만들어 재사용 할까? 라는 궁금증이 생기는데요!! 예를 들어 설명해 보겠습니다. 만약 테이블 뷰나 컬렉션 뷰에 표현해야 할 셀이 10개라고 한다면 어떨 것 같나요? 물론 이럴 때에는 굳이 deque하는 방식이 아닌, 데이터소스 개수만큼 cell 객체를 생성해서 테이블 뷰에 보여주면 되지 않나? 라고 생각할 수 있습니다!! 하지만 데이터가 10만 개라고 한다면?? 데이터가 10만 개인데, 위와 같은 방식으로 cell을 모두 생성한다면 메모리에 10만 개의 셀을 가지고 있어야 하므로, 메모리 사용량 측면에서 효율이 매우 나쁜 설계가 될 ..
2021.07.06 -
Storyboard 컴포넌트 알아보기
UIKIT UIKit은 iOS 애플리케이션의 사용자 인터페이스를 구현하고 이벤트를 관리하는 프레임워크입니다. UIKit 프레임워크는 제스처 처리, 애니메이션, 그림 그리기, 이미지 처리, 텍스트 처리 등 사용자 이벤트 처리를 위한 클래스 포함 테이블뷰, 슬라이더, 버튼, 텍스트 필드, 얼럿 창 등 애플리케이션의 화면을 구성하는 요소 포함 UIKit 클래스 중 UIResponder에서 파생된 클래스나 사용자 인터페이스에 관련된 클래스는 애플리케이션의 메인 스레드(혹은 메인 디스패치 큐)에서만 사용해야 함 UIKit은 iOS와 tvOS 플랫폼에서 사용 Xcode 상단의 + 모양 버튼을 누르면 IOS의 화면을 구성하는 ‘오브젝트 라이브러리’를 확인할 수 있습니다. 스토리보드에 사용되는 다양한 오브젝트에 대해 ..
2021.06.20 -
Xcode Project 속성 알아보기
아래 사진은 iOS 프로젝트 생성 시 초기 설정 화면입니다. 1. Project 프로젝트는 모든 파일, 리소스, 빌드에 필요한 모든 정보를 담고있는 저장소입니다. 제품의 빌드 정보를 가지고 있는 Target을 한 개 또는 여러개 가지고 있을 수 있으며, Target을 위한 기본적인 빌드 설정을 정의합니다. Target은 기본 빌드셋팅을 Override하여 작동하며, 한 개 또는 여러개의 Build Configuration을 설정할 수 있습니다. Deployment Target - Minimuim OS 버전을 지원합니다. 앱에서 어떤 기능을 사용할 것인지에 따라서 iOS Deployment Target이 달라질 수 있으며, 프로젝트에서 사용할 iOS 기능의 최소 버전을 확인 후 설정하면 됩니다. (배포 최..
2021.06.20 -
AutoLayout이란?
AutoLayout 뷰의 ‘제약조건(Constraint)’을 바탕으로 뷰 체계 내의 모든 뷰의 크기와 위치를 동적으로 계산합니다. 즉, 두 뷰 사이의 관계를 제약 조건이라는 것을 이용해서 뷰의 크기와 위치를 지정하는 것입니다. 다른 View들 간의 관계를 이용하여 View의 위치와 크기를 자동으로 결정하는 Layout System 입니다. 그렇다면 AutoLayout은 왜 필요할까?? 어플리케이션이 실행되는 iOS 기기의 스크린 화면의 크기가 다양한 경우, 또는 스크린이 회전할 수 있는 경우 등 절대적인 좌표가 아닌 동적으로 상대적인 좌표가 필요한 경우 유용합니다. 위의 이미지를 보면 아이폰8와 아이폰12 mini, 아이폰12 Pro 의 화면인데, 기종이 달라도 보여지는 화면이 똑같다는 것을 볼 수 있습..
2021.06.20 -
Info.plist란?
Info.plist ( Information Property List Files ) Info.plist는 모든 아이폰 애플리케이션의 기본 정보를 담아 놓을 수 있는 설정파일이라고 할 수 있습니다. plist는 property list라고 하며 OS X, iOS, NeXTSTEP, GNUstep 프로그래밍 소프트웨어 프레임워크 등에 이용되는 객체 직렬화를 위한 파일을 말합니다. 번들과 애플리케이션 소프트웨어 정보를 저장하기 위해서 사용됩니다. ▼ 프로젝트를 생성하면 자동으로 Info.plist 파일이 생성됩니다. 사진 맨 윗 부분에 Key, Type, Value를 확인할 수 있으며, 시스템은 이 키와 값을 사용하여 앱과 앱의 설정을 가져옵니다. 즉, 플러그인, 프레임워크, 앱에 Info.plist가 있어야..
2021.06.20 -
CGPoint와 CGSize, CGRect
안뇽하세욤 😄 요즘 부스트코스를 공부해보고 있는데, 공부하면서 배운 부분을 몇 가지 정리하려고 합니당~! 오늘은 CGPoint와 CGSize, CGRect에 대해서 정리해보겠습니당!! View를 그릴 때에 알고 있어야 하는 가장 중요한 것이 무엇인가요? 위 그림처럼 뷰의 위치인 x, y의 좌표 그리고 높이와 너비의 크기가 가장 중요합니다. * 좌표는 iOS 뷰 기준점인 왼쪽 꼭대기(0, 0)부터 시작 즉, 이것들이 iOS에서 View를 그릴 때 필수적으로 알아야 하는 것!!!! 1. CGPoint 애플문서를 확인해보면 CGPoint는 '2차원 좌표계에 점을 포함하는 구조' 라고 설명되어 있습니다. 말그대로 x, y의 위치를 나타낼 때 사용하는 것!! 요로코롬 x와 y의 위치를 지정해주어 기준점으로부터 현..
2021.06.02