본문 바로가기

Swift랑 친해지기/Swift문법정리62

[Swift] convenience init (보조 이니셜라이저) 클래스를 생성할때 init을 통해서 반드시 모든 프로퍼티를 초기화한다. 이렇게 모든 프로퍼티를 초기화하는 init은 본래 Designated init이라고 한다. convenience init은 Designated init을 보조해주는 이니셜라이저이다. 예를 들어 밴드 멤버를 처음부터 구해서 결성한다하면 다음과 같이 모든 장르를 지정해주어 인스턴스를 생성할 수 있다. 하지만 기타와 드럼은 확정이고 보컬, 베이스 구한다고 가정한다면 다음과 같이 보조이니셜라이저를 이용할 수 있다. 보컬을 박박씨와 베이스를 이이씨로 구했다고 가정하면 다음과 같이 밴드가 결성되는 것이다. 밴드인원을 본래처럼 모두 구하고 싶으면 모두 초기화 해줄수도 있다. 2023. 8. 3.
async/await 로 비동기 처리 하기 (Swift) 비동기(Asynchronous)란 한 작업이 다른 작업의 완료를 기다리지 않고 독립적으로 실행되는 것을 의미합니다. 동기(Synchronous) 방식에서는 한 작업이 완료될 때까지 다음 작업이 실행되지 않지만, 비동기 방식에서는 한 작업이 시작되면 완료 여부와 관계없이 다음 작업을 실행할 수 있습니다. 비동기 작업은 대개 네트워크 요청, 파일 입출력, 데이터베이스 쿼리 등과 같이 시간이 오래 걸리는 작업에 사용됩니다. 이러한 작업은 완료까지 시간이 오래 걸릴 수 있으므로, 동기적으로 처리하면 전체 프로그램이 작업의 완료를 기다리는 동안 멈추게 됩니다. 하지만 비동기 방식을 사용하면 한 작업이 실행되는 동안 다른 작업을 수행할 수 있어 전체적인 성능과 응답성이 향상됩니다. 비동기 작업을 처리하는 방법은 여.. 2023. 6. 1.
Cocoa Touch FrameWork,Foundation,UIKit,MVC 패턴, UIView, ViewController Cocoa Touch FrameWork UIKit/Foundation/CoreData/MapKit/CoreAnimation 등을 포함하는 프레임워크 iOS개발 최상위 프레임워크 Foundation 기본적인 테이터타입, 자료구조, 네트워크 통신, 파일 관리 등 프로그램의 중심을 담당 UIKit 사용자 인터페이스 관리, 이벤트 처리 등 주로 기능을 구현해주는 프레임 워크 UIKit에는 Foundation 프레임워크를 포함하고 있음 UILabel, UIButton 등 앞에 대체로 UI가 붙은 클래스들이 대부분 MVC 패턴 Model 앱에 데이터 비즈니스로직을 가짐 View 사용자에게 데이터를 보여주는 UI를 담당 Controller Model과 View의 중간 역할 View로부터 사용자 전달받아 Model에게.. 2022. 9. 27.
[Swift] 고차함수 (map,filter,reduce) 고차함수란? 다른 함수를 전달인자로 받거나 함수 실행 결과를 함수로 반환하는 함수 map 컨테이너 내부에 기존 데이터를 변형하여 새로운 컨테이너 생성 filter 컨테이너 내부에 있는 값을 걸러 새로운 컨테이너 추출 reduce 컨테이너 내부의 요소를 하나로 통합시켜줌 reduce(10) 초기값 10 각요소들을 하나로 통합시켜주는 것을 볼 수 있음 result는 누적값 element는 배열의 요소값 곱셈시 2022. 9. 27.