본문 바로가기

Category/iOS25

Hashable - 객체가 고유한 해시 값을 가질 수 있도록 하는 프로토콜 Hashable은 Swift에서 특정 객체가 고유하게 식별될 수 있도록 해주는 프로토콜입니다. 쉽게 말해, 객체를 숫자로 변환해서 다른 객체들과 비교할 수 있게 해줍니다. 이 숫자를 해시값이라고 부르는데, 이 해시값을 이용하면 객체를 빠르게 찾거나 비교할 수 있어요.Hashable을 왜 사용할까요?Set이나 Dictionary 같은 자료 구조에서는 중복을 허용하지 않거나 키를 사용해 값을 저장하는데, 이를 위해 객체가 고유해야 하고, 해시값이 필요합니다.해시값은 같은 객체가 중복되지 않도록 하거나 빠르게 검색하기 위한 일종의 숫자 코드입니다.예를 들어, 친구 목록에서 중복된 이름을 제거하고 싶다면?struct Friend: Hashable { let name: String let age: In.. 2024. 10. 28.
UserDefaults, iOS에서 간단한 데이터를 로컬에 저장하는 방법 UserDefaults는 iOS에서 간단한 데이터를 로컬에 영구적으로 저장하고 불러올 수 있는 방법을 제공합니다. 주로 앱 설정, 사용자 선호도, 작은 데이터(예: 문자열, 숫자, 배열 등)를 저장하는 데 사용됩니다.UserDefaults는 앱이 재실행되더라도 저장된 데이터를 유지하기 때문에, 앱을 닫았다가 다시 열어도 이전에 저장한 데이터에 접근할 수 있습니다.UserDefaults의 특징간단한 데이터 저장: 문자열, 숫자, 배열, 딕셔너리 등 간단한 데이터 유형을 쉽게 저장할 수 있습니다.영구 저장: 한 번 저장된 데이터는 앱이 재시작되거나 종료되더라도 유지됩니다.사용자 맞춤 설정: 주로 앱의 설정이나 사용자 선호도를 저장하는 데 사용됩니다.앱별 저장: UserDefaults에 저장된 데이터는 앱마다.. 2024. 10. 25.
TimeZone, iOS에서 시간 다루기 TimeZone은 날짜와 시간 계산에서 특정 지역의 시간대를 나타내는 클래스입니다. iOS에서 TimeZone을 사용하면 사용자의 현재 시간대 또는 특정 시간대를 기준으로 날짜와 시간을 다룰 수 있습니다.주요 기능현재 기기의 시간대 확인: TimeZone.current를 사용하면 사용자가 설정한 기기의 현재 시간대를 가져올 수 있습니다.특정 시간대 설정: TimeZone(identifier:)를 사용하여 특정 시간대(예: "Asia/Seoul" 또는 "America/New_York")를 설정할 수 있습니다.GMT 시간대 차이 계산: secondsFromGMT(for:) 메서드를 사용해 특정 시간대가 GMT(그리니치 평균시)와 얼마나 차이나는지 계산할 수 있습니다.예시1. 현재 기기 시간대 확인let cu.. 2024. 10. 24.
iOS 실제 기기에서 앱을 테스트하려면? iOS 실제 기기에서 앱 테스트하는 방법Apple Developer 계정 필요:실제 기기에서 앱을 테스트하려면 Apple Developer Program에 가입해야 합니다.무료 계정도 가능하지만, 테스트 가능한 앱 수와 기기 수가 제한됩니다. 유료 계정은 연간 $99에 가입할 수 있습니다.기기 연결 및 설정:기기 연결: iPhone 또는 iPad를 Mac에 연결하고, Xcode를 엽니다.디바이스 선택: Xcode 상단에서 연결된 기기를 선택하세요.Apple ID 추가: Xcode > Preferences > Accounts 탭에서 Apple ID를 추가합니다.프로젝트의 Signing 설정:Xcode에서 프로젝트를 선택한 후 Signing & Capabilities 탭으로 가서 'Automatically .. 2024. 10. 24.
SwiftUI 기본 폰트 스타일 정리 SwiftUI에서 사용할 수 있는 기본 폰트 스타일을 정리하면 다음과 같습니다. 각각의 폰트 스타일은 크기와 강조 정도가 다릅니다. 필요에 따라 적절한 폰트 스타일을 선택해 텍스트를 꾸밀 수 있습니다. SwiftUI 기본 폰트 스타일:largeTitle:큰 제목으로 사용할 때 적합한 스타일.보통 화면의 주요 제목에 사용.title:일반 제목에 사용.화면 구성에서 중요한 제목에 적합.title2, title3:title2는 title보다 작고, title3는 더 작은 제목 스타일.섹션 제목 등에서 사용할 수 있음.headline:굵고 강조된 텍스트 스타일.중요한 정보나 카드형 UI에서의 타이틀에 적합.subheadline:headline보다 작은 부제목 스타일.부가적인 정보나 설명에 사용.body:일반적인.. 2024. 10. 23.
CocoaPods 및 Podfile 총정리 CocoaPods는 iOS 개발에서 프로젝트에 외부 라이브러리(패키지)를 쉽게 추가하고 관리하는 패키지 관리 도구입니다. CocoaPods를 통해 프로젝트에 라이브러리를 추가하려면 Podfile이라는 설정 파일을 작성해야 합니다.CocoaPods란?iOS와 macOS 앱 개발을 위해 라이브러리와 의존성을 관리해 주는 도구.수많은 오픈 소스 라이브러리를 프로젝트에 손쉽게 추가하고, 버전을 관리할 수 있습니다.설치 후 라이브러리를 프로젝트에 추가, 업데이트, 제거하는 작업을 자동화합니다.Podfile이란?Podfile은 CocoaPods가 설치할 라이브러리와 해당 라이브러리의 버전을 정의하는 설정 파일입니다.Podfile은 프로젝트 루트 디렉토리(프로젝트 이름과 같은 폴더)에 생성됩니다.이 파일을 작성한 후.. 2024. 9. 29.