🍎 iOS/iOS 기본 & UIKit 9

[iOS/UIKit] UITableView, UICollectionView 다시 살펴보기

안녕하세요, 오늘은 항상 프로젝트에서 써왔지만 !!제대로!! 원리와 몰랐던 개념을 다시 정리해보고자 UITableView와 UICollectionView를 뜯어보고자 합니다. 1. UITableView https://developer.apple.com/documentation/uikit/uitableview UITableView | Apple Developer Documentation A view that presents data using rows in a single column. developer.apple.com - 하나의 컬럼을 사용하여 여러가지 행 데이터들을 보여주는 뷰이다. -> 세로 스크롤만 가능하다는 점을 알 수 있음 - 새삼스럽게 다시 알게된 사실이지만 UITableView는 UIScr..

[iOS/Swift] Notification Center

노티피케이션 센터 https://developer.apple.com/documentation/foundation/notificationcenter NotificationCenter | Apple Developer Documentation A notification dispatch mechanism that enables the broadcast of information to registered observers. developer.apple.com 노티피케이션 센터란, 등록된 관찰자에게 알려줄 수 있도록 하는 알림 메커니즘이다. 각 실행하고 있는 앱은 모두 기본적으로 노티피케이션 센터를 가지고으므로 해당 클래스를 이용하면 된다. 언제 활용하는가? 앱 내에서 공식적인 연결이 없는 2개 이상의 컴포넌트 간..

[iOS] 뷰 컨트롤러 생명주기 / 앱 생명주기

뷰 컨트롤러 생명주기 - 하나의 뷰 컨트롤러가 생겨나고 종료되기 전까지의 주기 1. loadView - 뷰컨트롤러가 관리하는 뷰를 메모리에 올리는 시점 - 뷰컨트롤러는 스토리보드상에서 혹은 xib로 연결된 뷰가 있다면 해당 뷰를 불러오고, 코드로 짠 뷰가 있다면 해당 뷰로 바꿀 수 있는 시점 2. viewDidLoad - 프로젝트 생성시 디폴트로 생기는 메소드 -> 뷰의 로딩이 완료되었을 때 시스템에 의해 자동으로 호출 - 딱 한번만 실행되는 메소드 -> 뷰 컨트롤러에서 초기화 필요한 속성들 초기화 시 사용 3. viewWillAppear - 뷰가 화면에 보이기 직전에 호출되고 여러번 호출됨 - 1) 처음 화면에 진입할 때 2) 다른 뷰컨에 갔다가 다시 돌아올때 호출 4. viewDidAppear - 뷰..

[iOS] Swift에서 데이터를 전달하는 방법

1. 프로퍼티에 직접 접근해 data 전달하기 - 네비게이션 컨트롤러에서 데이터를 전달하는 방식 - 프로퍼티란? : 클래스에 속해있는 변수 ViewController (첫번째 화면) import UIKit class ViewController: UIViewController { @IBOutlet weak var propertyTextField: UITextField! //텍스트필드의 변수를 가져와서 @IBAction func sendData(_ sender: Any) { guard let vc = storyboard?.instantiateViewController(identifier: "secondViewController") as? SecondViewController else { return } vc..

[iOS] AppDelegate, SceneDelegate (+UIWindow, UIScene, UIWindowScene)

iOS 생명주기의 변화 (WWDC 19) iOS 12버전 이전 iOS의 App Delegate에서 lifecycle은 2가지로 나뉨 - Process Lifecycle : process 수준에서의 event를 알려줌 -> process가 실행되려고 하는지 종료하려고 하는지에 대한 정보 - UI Lifecycle : UI의 상태를 알려줌 -> 포그라운드에 있는지, 액티브 상태인지, 백그라운드 상태 인지 ... 이 당시에는 앱은 하나의 프로세스와 하나의 UI 상태만 존재했기에 이 구조가 가능했다. iOS 13버전 이후 (multi window가 지원되기 시작한 이후) iOS 13 버전에서 멀티 윈도우를 지원하면서 (즉 1개 이상 다수의 UI나 Scene session들을 가지게 되면서 이 각각에 대한 생명..

[iOS] 프로젝트 속성 조사 (PROJECT, TARGETS)

PROJECT Deployment Target 이 앱을 설치할 수 있는 최소 sdk 버전 지정 (안드로이드에서 minimum sdk 지정하는 것과 같은 맥락) 따라서 기기의 점유율에 따라 지정할 필요가 있는데, 아래 페이지에서 점유율이 나와있음. 현재 iOS 14 이상의 기기가 85%정도 차지하고있음 https://developer.apple.com/kr/support/app-store/ App Store - 지원 - Apple Developer App Store App Store에서 Mac, iPhone, iPad, Apple Watch 및 Apple TV용 앱을 쉽게 찾고 구입하고 다운로드할 수 있습니다. 앱을 배포할 준비가 되면, 앱을 빌드하고 App Store에 배포하는 데 필요한 모든 것을 Ap..

[iOS] UIComponent

UIComponent 추가 단축키 -> Shift + Command + L 1) Label == 안드로이드에서 TextView Text / Plain vs attributed : Attributed가 더 다양한 커스텀 텍스트 지원 텍스트의 색을 커스텀하고싶으면, Color -> 맨아래 Custom에서 커스텀하면 지정 가능 사이즈를 조절하고 싶으면 Font 속성에서 조절 2) Button == 안드로이드에서 Button Type 버튼의 동작, 목적을 지정 텍스트 지정은 Title로, Color는 Text Color로 사이즈를 조절하고 싶으면 Font 속성에서 조절 3) Segmented Control == 안드로이드에서 TabLayout Style Plain, Borded, Bar Segment에서 세그먼..

[iOS] 레이아웃 구성(ViewController, Storyboard, nib, xib)

View - ViewController View : 화면 단위 하나하나 (==안드로이드 액티비티) ViewController : 화면 하나를 관리하는 단위 (==안드로이드 액티비티 코드) ViewController 디자인과 코드를 같이 보려면 오른쪽 상단 아이콘을 눌러 Assistant 모드로 세팅 Storyboard란? 일련의 장면들로 구성되며, 각 장면은 ViewController와 해당 뷰를 나타냄 화면과 화면의 연결을 보여줌 Safe Area란? 위에 노치가 생기면서 등장한 개념 상태바, 내비게이션 바, 탭바 등에 의해 view가 가려지지않기 위해서 제공되는 마진 가급적이면 이 안에서 뷰를 짜는게 좋음! Reference https://babbab2.tistory.com/134 nib, xib란..

[iOS] info.plist란?

Info.plist란? Information Property List 아이폰 애플리케이션의 기본 정보가 담긴 설정파일 번들, 애플리케이션 소프트웨어 정보 저장 XML 파일의 형태 내용 변경은 PROJECT, TARGETS에서 변경하고 여기서는 아이폰 앱의 '명세서'와같은 파일이라고 볼 수 있음. Localization native development region : 앱이 만들어진 주 지역, ISO 639등 언어 분류를 위한 명명된 코드를 입력한다. Executable file : 실행 가능한 번들의 이름 Bundle identifier : 애플리케이션의 고유 식별자 == 안드로이드에서 package name -> 앱 출시할때 식별자 infoDictionary version : 프로퍼티 리스트 구조의 현..

반응형