본문 바로가기

전체 글98

[Swift] 메타타입(Metatype) 이란? 보호되어 있는 글 입니다. 2024. 1. 28.
[iOS] 사용자에게 알림 보내기 - User Notification Framework 보호되어 있는 글 입니다. 2024. 1. 28.
[Swift] Attribute - @discardableResult 보호되어 있는 글 입니다. 2024. 1. 28.
[Swift] GCD와 친해지기 멀티 쓰레딩 (Multi threading)멀티 쓰레딩은 하나의 프로세스 내에서 이루어지던 작업을 다른 쓰레드에서 작업할 수 있도록 분산 처리할 수 있는 방법입니다.동시에 여러 작업을 수행할 수 있어 빠르게 작업을 수행할 수 있지만, 수행 순서를 보장할 수 없습니다  iOS 에서 멀티 쓰레딩을 구현하는 주요 방법은 아래와 같습니다. 1) GCD : 디스패치 큐를 사용하여 작업을 스케쥴링하고 병렬로 실행할 수 있습니다.2) Operation: 오퍼레이션 큐를 사용하여 Operation 객체를 관리합니다. GCD GCD 가 무엇이며 어떤 목적으로 사용되나요? GCD (Grand Central Dispatch) 는 macOS 및 iOS 에서 다중 스레드 및 병렬 프로그래밍을 간단하게 구현할 수 있도록 해주는 .. 2024. 1. 25.
[Swift] 클로저 (Closure) 보호되어 있는 글 입니다. 2024. 1. 19.
[iOS] Coordinator 패턴 - 화면 전환 보호되어 있는 글 입니다. 2024. 1. 18.
[iOS] 피커뷰 - UIPickerView, UIDatePicker 피커뷰 (PickerView) 피커뷰는 웹(Web)의 셀렉트 , 콤보박스 등과 유사한 기능하는 input을 위한 View 이다. 이미지 피커뷰와는 완전 다르니 유사품에 주의하자! 아까 피커뷰를 input을 위한 View라고 했는데, input의 범위를 제한하고, 하나를 고르도록 하고 싶을때 사용하는 View이다. 오잉? Segment Control 도 비슷한 역할하지 않나요? 라고 할 수 있는데,,, 피커뷰는 매우 많은 항목을 나열할 수 있다.! 주로 화면 아래 입력용 가상 키보드 자리나 화면 설계에 따라 별도의 고정된 영역을 사용하기도한다. 피커뷰 종류 피커뷰는 크게 두 가지로 나눌 수 있음. 데이트 피커 (DatePicker) : 날짜 입력 전용 (일반) 피커뷰 (Picker View) : 일반 데이.. 2024. 1. 17.
[Swift] 일급 객체 ( First class citizen ) 란? 안녕하세요 Lody 입니다. 오늘은 일급 객체에 대해 정리해보겠습니다.일급 객체일급 객체 (1st class citizen) 라는 건, 그 객체가 프로그래밍 언어 안에서 다른 값들과 마찬가지로 취급된다는 뜻입니다. Swift에서는 함수, 클로저, 클래스, 구조체, 열거형이 일급 객체로 취급됩니다. 일급 객체가 "다른 값들과 마찬가지로 취급" 되면서 가지는 특징은 다음과 같습니다. 1. 변수에 할당이 가능.2. 함수의 인자로 전달 가능.3. 함수의 반환 값 가능. 커링(Currying) 커링은 함수형 프로그래밍에서 중요한 개념입니다. 커링을 사용하면, 여러 개의 인자를 가진 함수를 하나의 인자만 받는 여러 함수로 변환할 수 있습니다. 복잡한 로직을 여러 단계로 나누어 사용할 수 있도록 해줍니다. 간결하게 .. 2024. 1. 16.
[iOS] TableViews - Static table views are only valid when embedded in UITableViewController instances 컴파일 오류 UIViewController 객체의 View 내부에 UITableView 객체를 Embed 하고 Attributes inspector 창을 통해 UITableView의 content를 static cell로 설정한 다음, 실행시켰는데 "Static table views are only valid when embedded in UITableViewController instances" 라는 오류가 발생하며 빌드에 실패했다. 원인을 찾고자 공식문서를 찾아보니... 아래와 같이 중요하다고 박스표시까지 되어있다.. UITableViewController 중요 ⚠️ 정적 데이터를 가진 테이블 뷰는 해당 데이터를 관리하기 위해 UITableViewController 객체가 필요합니다. 정적 테이블을 사용하면 스토.. 2024. 1. 7.
[Swift] 더 나은 swift를 위하여 swift-evolution 안녕하세요 🎵 Lody 입니다. Apple은 더 나은 Swift언어를 위해 개발자들이 자유롭게 새로운 기능을 제안할 수 있도록 swift-evolution 을 운영하고 있습니다 오늘은 이 swift-evolution에서 제안서를 읽다가 우연히 오타를 발견했습니다. 오타를 수정하고 호다닥 PR을 보내보았는데, 자고 일어나니 PR이 승인되어 main 브랜치에 merge 되어있더라구요.. 가장 최근 committer가 나라니.. ⭐  사실 별거 없는 오타 수정이지만 ㅎㅎ,,, 대형 오픈소스에 티끌이라도 기여를 했다는 스스로의 뿌듯함이 드네요.문서도 꼼꼼하게 읽다보니 이런 소확행도 있고,, 쏠쏠한 재미가 있네요 ㅎㅎ.. 공식문서 사랑해요 🫰  GitHub - apple/swift-evolution: This.. 2024. 1. 7.
[Swift] @available, @available(*, unavailable), #available 사용하기 안녕하세요 🎵 Lody 입니다. 오늘은 @available, @available(*, unavailable), #available 에 대해 정리해보겠습니다  @available@available 은 Swift 프로그래밍 언어에서 제공되는 기능입니다. 이 어노테이션은 Swift 언어의 일부로, Swift의 표준 라이브러리에 포함되어 있습니다. 주로 Apple의 플랫폼들, 즉 iOS, macOS, watchOS, tvOS 등에서 사용됩니다. 다양한 버전의 운영체제에서 실행되는 어플리케이션의 호환성을 관리할 때 @available 어노테이션을 활용할 수 있습니다. @available 을 통해 개발자는 특정 클래스, 메서드, 프로퍼티 등이 특정 버전의 OS에서 사용 가능한지 여부를 명시할 수 있습니다. 가령 .. 2024. 1. 3.
[iOS] LaunchScreen 이란? HIG 훑어보기 안녕하세요 🎵 Lody 입니다. 오늘은 LaunchScreen 에 대해서 다뤄보도록 하겠습니다. 앱 개발의 세계에서 첫인상은 매우 중요합니다. 아무리 좋은 기능을 가졌더라 하더라도 사용자가 없다면 무용지물이죠. 사용자가 앱을 시작할 때 가장 먼저 마주치는 화면을 iOS에서는 런치스크린(LaunchScreen) 이라고 하는데요 아래 우측 사진은 네이버 웹소설 앱 시리즈를 실행시켰을때 나타나는 런치스크린의 모습입니다. 런치스크린을 사용하지 않는 경우는 드물지만, 어떤 앱은 굳이 런치 스크린이 필요하지 않을수도 있습니다. 그러나 iOS 앱 가이드라인 HIG 에서는 모든 앱에서 런치 스크린을 통해 사용자 경험을 개선하기를 권장합니다. 그래서 오늘은 HIG 에서 런치스크린에 대해 어떻게 가이드를 하고 있는지 보겠.. 2023. 12. 31.