Swift Protocols (Equatable, Comparable, Hashable, Numeric, CaseIterable)
·
SwiftUI
Swift 표준 라이브러리에 정의된 중요한 프로토콜이 있다. 다음은 사용 가능한 몇 가지 프로토콜 목록이다.Equatable, Comparable, Hashable, Numeric, CaseIterable이 프로토콜들은 시스템과 신속한 언어에 의해 수행되는 기본 프로세스를 담당한다고 한다.Equatable이 프로토콜을 사용하면 시스템은 데이터타입을 == 과 != 를 사용하여 값을 비교하는데 사용된다.해당 Equatable 프로토콜을 채택하게 된다면 아래와 같은 형태로 특정 값을 비교하는 연산(==)을 구현할 수 있다.다음 코드에서는 Employees 타입의 인자를 받는 value1과 value2의 age값을 비교하여 true와 false를 반환시킬 수 있다.struct Employees: Equatabl..
Definition of Protocols
·
SwiftUI
간단한 프로토콜 만들기protocol Printer { var name: String { get set } func printdescription()}struct Employees: Printer { var name: String var age: Int func printdescription() { print("Description: \(name) \(age)") }}struct Offices: Printer { var name: String var employees: Int func printdescription() { print("Description: \(name) \(employees)") // "Description: Mail 2"..
Managing a Shared Resource Using a Singleton
·
SwiftUI
싱글톤은 전역적으로 접근할 수 있는 클래스의 공용 인스턴스다. 음향 효과를 재생하기 위한 오디오 채널이나 HTTP 요청을 하기 위한 네트워크 관리자와 같이 앱을 통해 공유되는 리소스나 서비스에 대한 통합 액세스 포인트를 제공하는 방법으로 자신만의 싱글톤을 만들 수 있다. 싱글톤 만들기간단한 싱글톤은 static type 프로퍼티를 이용하여 만들 수 있으며 여러 스레드에서 동시에 접근을 해도 한번만 초기화되는 특징이 있다.class Singleton { static let shared = Singleton()}만약 초기화 외 추가적인 작업을 하고 싶다면, 전역 상수인 싱글톤에 값을 반환할 수 있다class Singleton { static let shared: Singleton = { ..
Dictionary
·
SwiftUI
딕셔너리란 [ 키 : 데이터, 키 : 데이터, ... ] 형식으로 저장되는 데이터다. 다음은 dictionary로 HTTP 응답 코드를 딕셔너리로 정리한 코드다.var responseMessages = [200: "OK", 403: "Access forbidden", 404: "File not found", 500: "Internal server error"] 다음처럼 새로운 빈 dictionary를 만들 수 있다var emptyDict: [String: String] = [:] 딕셔너리의 값 가져오기print(responseMessages[200])// Prints "Optiona..
Range
·
SwiftUI
Range를 아래와 같이 0..var message = ""var range = 0.. 다음과 같이 contains를 사용하여 값의 유무를 확인할수도 있고 isEmpty를 사용하여 비어있는지도 확인할 수 있다range.contains(1)// truerange.contains(2)// truerange.contains(10)// falserange.isEmpty// false
Memory Management
·
SwiftUI
참조로 저장되는 객체들은 동시에 여러 변수에 의해 참조될 수 있다. 변수가 지운다고해도 해당 참조 객체를 참조하는 다른 변수가 있다면 객체를 메모리에서 지울 수 없다.이러한 상황은 앱에서 더 이상 필요없는 객체들로 가득 차서 메모리를 낭비하는 상황을 만들어낸다. Apple이 제공하는 솔루션은 객체를 참조하는 변수의 수를 계산하고 모든 참조가 지워질 때만 메모리에서 객체를 제거하는 자동 시스템입니다(모든 변수가 지워지거나, 설정되거나, 다른 객체에 대한 참조가 할당되었습니다). 그 시스템은 ARC(Automatic Reference Counting)라고 불린다. ARC는 메모리에 해당 공간에 대한 참조를 포함하는 상수나 변수가 더 이상 없을 때 개체를 자동으로 지웁니다. 다음에 정의된 클래스들을 보면 em..
ytw_developer
IT Document