전체 글 87

Swift - UserDefaults

UserDefaults - iOS 및 macOS 애플리케이션에서 설정과 같은 간단한 데이터를 영구적으로 저장하고 관리하기 위한 인터페이스를 제공하는 클래스 - 싱글톤 패턴으로 설계되어 앱 전체에서 단 하나의 인스턴스만 존재 - 사용자 환경 설정, 마지막 사용 데이터, 기본 설정 값 등을 쉽게 저장하고 검색할 수 있음 - 키-값 형태로 작동하며, 사용자가 설정을 변경하거나 앱 내에서 사용하는 데이터를 저장하는 데 주로 사용 - 앱이 종료되거나 다시 시작되더라도 설정과 데이터가 유지되는 이점 제공 - 작은 데이터에 적합하며 대량의 데이터를 저장하는 데는 적합하지 않음 예제) import UIKit // 데이터 저장 (데이터 - 키) UserDefaults.standard.set("홍길동", forKey: "..

Swift 2023.08.16

Swift - DropDown 라이브러리 사용

DropDown 라이브러리 - iOS 애플리케이션에서 드롭다운 메뉴를 쉽게 구현할 수 있도록 도와주는 라이브러리 중 하나 - 사용자 옵션 목록에서 항목을 선택하는 데 사용되는 드롭다운 UI를 만드는데 도움이 됨 - 라이브러리 주소 : https://github.com/AssistoLab/DropDown Installation - Use cocoaPods 1. pod 'DropDown' 2. pod install Use 라이브러리 import import DropDown 객체 생성 // 객체 생성 let dropDown = DropDown() 데이터 소스 추가 및 드롭다운 활성화 func dropDownSet() { // 드롭다운 데이터소스 추가 dropDown.dataSource = ["홍길동", "김길..

Swift - Then 라이브러리

Then 라이브러리 - Swift 프로그래밍 언어를 위한 유용한 확장 라이브러리 - 코드의 가독성과 간결성을 개선하며, 객체 초기화 및 설정을 더 편리하게 함 Then - git file : https://github.com/devxoul/Then 'Then' 라이브러리 설치 1. cocoaPods 사용 2. pod install 'Then' 라이브러리 사용 'Then' 라이브러리 사용 전 코드 let label : UILabel = { let label = UILabel() label.textAlignment = .center label.textColor = .blue label.text = "Using 'Then' Library" return label }() 'Then' 라이브러리 사용 후 코드 l..

Swift - IQKeyboardManagerSwift 라이브러리

IQKeyboardManagerSwift 라이브러리 - iOS 애플리케이션에서 키보드 관련 문제를 해결하기 위한 라이브러리 - 키보드가 텍스 입력 필드와 겹치는 문제, 키보드가 나타나거나 사라질 때의 애니메이션 부드러움 등 처리 - 기본적으로 iOS에서는 키보드가 올라오면 화면 요소들을 가리는 문제가 발생함. 이러한 문제를 해결해주는 라이브러리 - CocoaPods로 설치 CocoaPods로 설치 1. Podfile - 'IQKeyboardManagerSwift' 추가 2. pod install 3. import IQKeyboardManagerSwift import IQKeyboardManagerSwift IQKeyboardManagerSwift 사용 참고 링크) https://github.com/hac..

Swift - 키보드 올라옴 감지(NotificationCenter, Observer 사용)

Notification - 이벤트 자체 - 이벤트나 데이터의 특별한 형태로, 이름을 가지는 이벤트를 나타내는 클래스 - 앱 내에서 어떤 사건이 발생했음을 나타내며, 이를 통해 관련된 정보 전달 가능 - 주로 Notification.Name으로 식별 NotificationCenter - 이벤트를 관리하고 전달하는 중간 매개체 - 앱 내에서 발생하는 이벤트들을 관리하고 이벤트를 발송하거나 수신하는 기능 제공 - 이벤트가 발생하면 NotificationCenter는 해당 이벤트를 관심있는 모든 옵저버에게 전달 - 이를 통해 다양한 객체 간에 이벤트를 공유하고 통신 가능 - iOS 앱에서 다양한 컴포넌트나 모듈 간의 통신을 도와주는 중요한 도구 - 객체들 간의 강한 의존성 없이 효율적으로 데이터나 이벤트를 공유..

Swift 2023.08.11

Swift - 프로토콜 (Protocol)

프로토콜 (Protocol) - 클래스, 구조체 또는 열거형과 같은 타입이 따라야 할 요구사항을 정의하는 일종의 추상 청사진 - 인터페이스와 유사하게 작동하며, 객체들 사이의 통신과 상호 작용을 위한 규칙 제공 - 클래스, 구조체, 열거형은 프로토콜을 채택(Adopt)하여 해당 프로토콜이 요구하는 속성과 메서드를 구현 1. 프로토콜 선언 import UIKit // 프로토콜은 약속 // 이름 설정은 **delegate, **able, **ing 등으로 설정 protocol Naming { // 우리는 이런 변수와 메서드를 가지고 있을 것입니다. 라고 약속하는 것 var name : String { get set} func getName() -> String } - 'Naming' 프로토콜은 'name' ..

Swift 2023.08.06

Swift 사진 설정하기 (UIImagePickerController 사용)

UIImagePickerController - iOS 앱에서 사진 라이브러리 또는 카메라로부터 사진을 가져올 수 있는 기능 사용 방법 1. UIImagePickerController를 컨트롤러에 추가 - 'UIImagePickerController' 를 사용하기 위해 우선 'UIImagePickerControllerDelegate', 'UIImagePickerControllerDelegate' 프로토콜을 채택해야 함 extension UseControllerPictureViewController : UIImagePickerControllerDelegate, UINavigationControllerDelegate { } 2. 이미지를 가져올 버튼과 이미지 뷰 추가 class UseControllerPict..

Swift 2023.08.05

Swift - 사진(앨범) 가져오기 (YPImagePicker 라이브러리)

Swift - 사진 가져오기 방법 앨범에서 사진 선택 1) UIImageView, Button 추가 - 이미지뷰와 버튼 추가 후 모서리를 둥글게 설정하기 위해 outlet 추가 - 이미지뷰의 cornerRadius를 이미지뷰의 height의 반으로 설정하므로써 정사각형 모양이 아닌 원형이 되도록 설정 2. 사용할 라이브러리 설치 (YPImagePicker) - pod 'YPImagePicker' 추가 후 'pod install' 3. Plist entries (사용자 권한 추가) - Info.list -> 우클릭 -> Open As -> Source Code 클릭하면 GUI 환경에서 소스코드로 변환 됨 - 이후 소스코드에 Key, String을 복사 붙여넣기 4. 사용 방법 확인 (Usage) 1) 라이..

SwiftUI - Container Views (VStack, HStack)

컨테이너 뷰 (Container Views) - 사용자 인터페이스(UI) 요소들을 그룹화하고 배치하는 데 사용되는 SwiftUI의 기능 - 하위 뷸들을 묶어 하나의 단위로 다룰 수 있도록 도와주어 UI를 구조적이고 조직적으로 만드는 역할을 함 - 종류 (VStack, HStack, ZStack, List, ScrollVIew, Group 등) VStack (Vertical Stack) - 하위 뷰들을 수직으로 쌓아 올림 - 위에서 아래로 배치 - VStack : 하위 뷰들을 수직으로 쌓음 - alignment 파라미터 : '.leading' 을 사용하여 좌츨 정렬 - spacing 파라미터 : 각 요소들 간의 수직 간격 (패딩)을 50으로 지정 - "VStack" 라는 텍스트와 3개의 사각형 표시 - V..

SwiftUI 2023.07.28

Swift - UIKit, SnapKit 비교

SnapKit - iOS 앱 개발에 사용되는 Auto Layout 라이브러리 중 하나로 Auto Layout을 코드로 쉽게 작성할 수 있도록 도와주는 도구 - 간결하고 직관적인 API를 제공하여 레이아웃 코드를 더 읽기 쉽고 유지보수하기 쉽게 만듦 - 인터페이스 빌더를 사용하지 않고도 레이아웃을 코드로 처리할 수 있으며, 코드로 작성된 레이아웃은 버전 관리에 용이하고 협업에 용이 SnapKit 설치 (CocoaPod 이용) 1. Podfile에 pod 'SnapKit' 입력 2. Pod Install 3. import SnapKit import UIKit import SnapKit UI 미리 보기 기능 (PreView) #if DEBUG import SwiftUI struct ViewControllerR..

Swift 2023.07.23