본문 바로가기

All Categories/iOS & Swift

Swift) ARC (Automatic Reference Counting) 안녕하세요. 재희입니다! 오늘은 Swift의 ARC에 대해 알아보도록 하겠습니다! https://docs.swift.org/swift-book/LanguageGuide/AutomaticReferenceCounting.html Automatic Reference Counting — The Swift Programming Language (Swift 5.6) Automatic Reference Counting Swift uses Automatic Reference Counting (ARC) to track and manage your app’s memory usage. In most cases, this means that memory management “just works” in Swift, and yo.. 더보기
iOS) frame과 bounds의 차이 안녕하세요 재희입니다! 오늘은 UIView의 frame과 bounds의 차이에 대해 알아보겠습니다. UIView Apple Developer Documentation developer.apple.com frame과 bounds property는 각 뷰의 geometry를 정의합니다. frame 프로퍼티는 super view의 좌표계에서 뷰의 원점과 dimension을 정의합니다. bounds 프로퍼티는 view가 화면에 보이는 것에 대한 뷰의 내부 dimension을 정의하며, 사용자 정의 drawing code에는 거의 사용되지 않습니다. bounds Apple Developer Documentation developer.apple.com 경계 직사각형, 자체 좌표계에서 뷰의 위치와 크기를 설명합니다... 더보기
iOS) UIViewController 살펴보기, lifecycle 안녕하세요 재희입니다. UIViewController 애플 문서를 살펴보겠습니다. Apple Developer Documentation developer.apple.com UIViewController UIKit 앱의 view hierarchy를 관리하는 object입니다. 선언 @MainActor class UIViewController : UIResponder 개요 UIViewController 클래스는 모든 뷰 컨트롤러에 공통적인 shared behavior를 정의합니다. UIViewController 클래스의 인스턴스를 직접 만드는 경우는 거의 없습니다. 대신 UIViewController를 하위 분류하고, 뷰 컨트롤러의 view hierarchy를 관리하는 데 필요한 메소드와 속성을 추가합니다... 더보기
iOS) 앱의 생명주기 관리 안녕하세요 재희입니다! 대표 면접질문, 앱의 생명주기에 관한 애플 공식 문서를 살펴 보겠습니다. Managing Your App's Life Cycle Apple Developer Documentation developer.apple.com 앱이 foreground 또는 background에 있을 때 시스템 알림에 응답하고, 기타 중요한 시스템 관련 이벤트를 처리합니다. 개요 앱의 현재 상태에 따라 수행할 수 있는 작업과 수행할 수 없는 작업이 결정됩니다. 예를 들어, foreground 일 때 유저에게 집중하기 때문에, CPU를 포함한 시스템 리소스보다 우선됩니다. 반대로, background 일 때는 offscreen이기 때문에, 가능한 한 작업을 적게 해야하며, 가급적 아무 작업도 하지 않아야 합니.. 더보기
Swift) Locale 다루기 - 언어 및 지역 안녕하세요 zhi재희입니다! 지난 시간에는 Localizable.strings 파일을 만들어서 다국어 지원을 해보았는데, 오늘은 Locale 다루는 법에 대해 알아보겠습니다. 아이폰에서 설정 -> 일반 -> 언어 및 지역 으로 가면 현재 아이폰 언어 및 지역 확인 및 편집이 가능합니다. Apple Development Documentation 애플 공식 문서에 따르면 Locale은 언어, 문화, 기술 규약과 표준에 대한 정보를 압축한다고 합니다. Locale에서 주로 다루게 될 프로퍼티에는 identifier, calendar, regionCode, languageCode 등이 있습니다. identifier locale identifier는 "languageCode-scriptCode_regionCode.. 더보기
iOS) localization(지역화) - 앱에서 다국어 지원하는 방법 안녕하세요! zhi재희입니다! 지난 게시물을 막 이직했을 때 적었던 것 같은데 또 이직을 했답니다 하하 현재 만드는 앱은 다국어를 지원하고 있어요~! 그래서 오늘은 앱에서 다국어를 지원을 위한 localization에 대해 알아보겠습니다~~ Localization? 지역화란? 로컬리제이션은 다른 나라에서도 이용할 수 있도록 각각 자국의 언어에 관한 기초적인 기능을 제공하는 것을 의미합니다. 예를 들어 저희 앱은 한국어와 영어를 지원하기 때문에, 같은 로그인 화면이라도 아이폰 언어 설정에 따라 아래 사진처럼 다르게 보이게 됩니다. 기본 세팅 먼저 label 하나를 만들어 주고, import UIKit class ViewController: UIViewController { // MARK: - UICompo.. 더보기
iOS 13+) Storyboard 없이 프로젝트 생성하기 안녕하세요 zhi재희입니다! 저는 최근에 이직하면서 🥳 Storyboard없이 SnapKit으로 UI 코드 작성하는 것에 익숙해지고 있답니다. 그래서 Storyboard없이 프로젝트를 생성하는 방법에 대해 알아보려고 합니다! 1. 프로젝트 생성 가장 먼저 새로운 프로젝트를 생성해 줍니다! 🎉 기본적으로 이렇게 Main.storyboard가 존재하고 있습니다! 2. Main.storyboard 삭제 과감하게 스토리보드를 삭제❌해줍니다! 그렇게 실행해보면?! reason: 'Could not find a storyboard named 'Main' in bundle NSBundle Main 스토리보드를 찾을 수 없다고 뜹니다! 3. 해결하기 - Info.plist Info.plist 파일에서 2가지 row를 .. 더보기
왜 프로토콜 변수 선언땐 let이 안될까? / weak와 unowned 의 차이 JercyCare+ 에서 주어진 질문에 대한 제 생각입니다. :) 왜 프로토콜 변수 선언땐 let이 안될까? 공식 문서: Swift - Protocols A protocol defines a blueprint of methods, properties, and other requirements that suit a particular task or piece of functionality. The protocol can then be adopted by a class, structure, or enumeration to provide an actual implementation of those requirements. Any type that satisfies the requirements of a pro.. 더보기

반응형