Class, ARC, Weak Self
·
SwiftUI
Class의 특징상속 가능 클래스는 상속을 통해 다른 클래스의 속성과 메서드를 물려받을 수 있습니다. 이를 통해 코드 재사용성을 높이고, 기존 클래스를 확장하여 새로운 기능을 추가할 수 있습니다.Reference Type클래스는 참조 타입입니다. 이는 객체의 인스턴스를 변수에 할당하거나 함수에 전달할 때, 실제 객체가 아닌 객체의 참조(메모리 주소)를 전달한다는 의미입니다.초기화 메서드 (Initializer) 클래스는 객체 생성 시 초기화를 위한 초기화 메서드 init 를 가질 수 있습니다. 이를 통해 객체 생성 시 필요한 초기 설정을 할 수 있습니다. 소멸자 (Deinitializer)클래스는 객체가 메모리에서 해제될 때 호출되는 소멸자 deinit 를 가질 수 있습니다. 이를 통해 객체가 해제될 때..
Struct 구조체
·
SwiftUI
Struct의 특징Class와 다르게 상속이 불가능value type 입니다, 여기서 value type이란 Int, Double , String 등이 포함value type 이란 인스턴스를 전달할 때 값을 복사해 새로 만들지 참조하지는 않는다는 것을 의미Struct는 함수 호출이 끝나면 자동으로 메모리에서 해제되므로, 메모리 관리가 쉽고 효율적입니다Struct는 Class에 비해 컴파일러가 훨씬 더 빠르게 컴파일할 수 있습니다(참조같은 복잡한 일 대신 새롭게 만들기 때문에)Thread Safe 타입입니다Struct를 사용하는 경우다른 객체 또는 함수 등으로 전달될 때 - 참조가 아닌 복사를 원할 때, 원본 데이터가 변경되지 않음을 보장하고 싶을 때자신을 상속할 필요가 없거나 자신이 다른 타입을 상속받을..
Subscripts
·
SwiftUI
Subscript 는 컬랙션, 리스트 또는 시퀀스의 요소에 접근할 수 있는 방법을 제공합니다 Subscript란Subscript는 어려운 것이 아닙니다. 평소에 특정 배열 요소에 접근하기 위해서 사용하던 [] 이 바로 subscript 입니다. 클래스, 구조체, 열거형은 서브스크립트를 정의하여 index를 통해 해당하는 element에 접근하고 값을 설정하거나 검색할 수 있습니다.예를 들어, 배열(Array)에서는 array[index], 딕셔너리(Dictionary)에서는 dictionary[key]와 같이 값을 가져올 수 있습니다. subscript를 사용하면 특정 값을 가져오거나 설정할 수 있습니다.subscript(index: Int) -> Int { get { // Return..
async let 으로 비동기 작업들을 동시에 수행하기 (1)
·
SwiftUI
async let 을 사용하면 시스템이 async let  오른쪽에 있는 비동기 함수를 병렬적으로 실행시킵니다   await를 사용할 때는 시스템이 해당 비동기 함수를 실행시킬 때마다 실행을 담당하는 스레드를 정지(suspend)했는데, async let 을 사용한 구문에서는 result가 필요하기 전까지 이후의 함수들을 계속 읽습니다. 코드로 예시를 확인해 보겠습니다.다음은 인터넷으로부터 사진을 가져오는 비동기 작업을 수행하는 코드입니다.func fetchImage() async throws -> UIImage { do { let (data, _) = try await URLSession.shared.data(from: url, delegate: nil) if let im..
Chat GPT API 사용하기
·
SwiftUI
Chat GPT API를 사용하여 iOS에서 Chat GPT를 사용할 수 있는 앱을 만들 수 있습니다  Chat GPT란Chat GPT란 인터넷에 있는 셀 수 없이 많은 데이터들을 기반으로 학습된 모델로 사용자가 질문을 하면 그 질문에 대한 답을 해주는 AI로 머신러닝, 딥러닝을 기반으로 학습된 모델을 사용합니다. 오픈AI는 이렇게 학습된 모델을 서버에 올려 모든 사람들이 사용할 수 있게끔 만들어 두었으며 사용자는 https://platform.openai.com/settings/profile?tab=api-keys 링크에 접속하여 https://platform.openai.com/settings/profile?tab=api-keys에서 제공하는 인터페이스로 학습된 모델을 사용만 하면 됩니다. Chat ..
공공 데이터 지도에 띄우기 (with 네이버 지도)
·
SwiftUI
지하철 1~8호선의 역사 내 공중화장실 데이터를 가져와 지도에 띄워줍니다 https://www.data.go.kr/data/15044453/fileData.do 서울교통공사_역사공중화장실정보_20230814지하철 1~8호선의 역사 내 공중화장실 데이터(화장실명, 소재지도로명주소, 소재지지번주소, 남녀공용화장실여부, 대/소변기수, 등)입니다.www.data.go.kr 데이터 분석데이터 시트를 열어보면 아래 사진처럼 여러개의 데이터들이 존재합니다, 하지만 여기서 남녀공용화장실 여부라던지 관리기관명 같은 데이터들은 사용자한테 별로 유용한 정보가 아닙니다. 데이터 필터링추가로 데이터를 분석해보면  145번째 행에 위치는 서울이지만 위도가 36인 outlier 가 존재합니다. 해당 데이터를 37로 수정해줍니다. ..
ytw_developer
'SwiftUI' 카테고리의 글 목록 (10 Page)