목록Swift/기초문법 (75)
HIT해

var MyArray = [ 3,4,6,1,7,247,245,24,5,6]var ascendingArray = myArray.sorted()// 오름 차순으로 정렬해줌myArray.sort()// 배열 자체를 정렬시켜줌// 내림차순 정렬var descendingArray = myArray.sorted(by:>) sorted는 내가 정렬한 배열을 반환하는 것이고sort는 나 자체를 정렬하는 것. sort는 오름차순 by:> 내림차순 프로젝트 사용예시구조체간 비교가 필요한 경우 컬렉션 타입이 아니기 때문애 따로 설정없이 sort를 하면 정렬이 되지 않는다. struct Todo : Comparalble, Hashable { // Comparalble 로 비교가 가능하게 ,Hashable로 리스트에서 사용이..

고차함수란?함수인데 매개변수로 클로저를 받고 매개변수로 받은 클로저로 값을 변환하거나 반환하는 함수 사용예시func getName(_name: STring) -> String{ return "내 이름은 \(name)"}var getNameClosure : (String) -> String// completion이라는 클로저를 매개변수로 받고func sayHello(completion : (String) -> String, name : String) -> String{ // 클로저를 반환값으로 받는다. return completion(name)}let resultOne = sayHello(completion : getName(_:), name : "자우림")// print 내 이름은 자우림 클..

Lazy란?메모리에 바로 올리지 않고 사용할 떄 올리게 하는 키워드다. 예시코드import UIKitstruct Pet { init(){ print("Pet 이 생성되었다.") }} struct Friend {var name: Stringvar pet : Pet = Pet () init(_ name: String){ self.name = name print("Friend 가 생성됨") }}var myFriend = Friend("자우림") Friend에서 Pet이 생성이 되면 메모리에 올라가고 init이 실행되어 아래와 같은 실행 순서를 보이게 된다. Pet 이 생성되었다.Friend 가 생성됨 변수 앞에 lazy를 붙여보자import UI..

typealias란?기존에 선언되어 있는 유형에 새로운 유형의 별칭을 사용함으로써코드를 더 읽기 쉽도록, 이해하기 쉽도록 만드는 문법이다! 내장 유형 -> String, Int, Float사용자 정의 유형 -> Class, Struct, Enum복합 유형 -> Closure프로토콜 통합 1. 내장 유형 예시typealias Name = Stringlet name : Name = "양희태" 2. 사용자 정의 유형 예시Class Human {}typealias Humans = [Human]var humans : Humans = [] 이때 Humans 라는 타입은 Array, [Human] 타입과 같은 타입이 된다. Class 내부 변수 또는 열거형을 나타낼 수도 있다.typealias MyType = MyC..

기존 클래스, 구조체, 열거형 타입에 새로운 Property, Method, Initializer 등을 추가하는 것으로원본 타입(소스 코드) 에 접근하지 못하는 타입들도 확장해서 사용할 수 있다.extenstion은 코드의 가독성을 높이고, 기능을 모듈화하며, 기존 타입을 더 쉽게 확장할 수 있게 해준다고한다. extension에 프로퍼티 추가하기extension Int { var zero : Int = 0}// 에러 발생 저장 프로퍼티는 추가할 수 없으며 , 오로지 연산 프로퍼티만 추가가 가능하기에 오류가 발생한다. 그래서 다음과 같이 연산 프로퍼티만 가능하다.extension Int { var half : Int {{ return self / 2 }} 사용할때는 아래와같다...

Swift에서 프로토콜(Protocol)은 클래스, 구조체 및 열거형에 특정 속성이나 메서드가 반드시 구현되도록 강제하는 데 사용됩니다. 프로토콜을 통해 코드의 일관성을 유지하고, 여러 타입이 동일한 기능을 제공하도록 할 수 있습니다. 이번 포스팅에서는 Swift 프로토콜의 기본 개념과 사용법을 예제와 함께 알아보겠습니다.프로토콜의 기본 개념프로토콜은 특정 속성이나 메서드를 정의하지만, 실제 구현은 하지 않는다.이를 채택하는 타입이 프로토콜에서 정의한 요구사항을 반드시 구현해야 합니다.프로토콜은 Swift의 강력한 기능 중 하나로, 코드의 일관성과 재사용성을 높일 수 있습니다!// 약속/// **delegate/// **able, **ing 와 같은 명칭을 사용해야한다protocol Describable..

Swift에서 Struct는 데이터와 관련된 기능을 묶어 정의하는 데 사용됩니다. Struct는 클래스와 유사하지만, 값 타입(value type)으로 동작하며, 상속을 지원하지 않습니다. 이번 포스팅에서는 Swift Struct의 메서드 사용법과 주요 특징들을 예제와 함께 알아보겠습니다.Struct Method의 기본 사용법Struct는 인스턴스 메서드와 타입 메서드를 가질 수 있습니다. 인스턴스 메서드는 특정 인스턴스에서 호출되는 메서드이고, 타입 메서드는 Struct 자체에서 호출되는 메서드입니다.인스턴스 메서드인스턴스 메서드는 Struct의 인스턴스에서 호출되며, 해당 인스턴스의 속성에 접근할 수 있습니다. 기본적인 사용법은 다음과 같습니다.struct Person { var name: St..

Swift에서 Set는 고유한 값들을 순서 없이 저장하는 컬렉션 타입이다. Set는 Array와 유사하지만, 중복된 값을 허용하지 않으며 순서가 중요하지 않은 경우에 유용하게 사용할 수 있다. 이번 포스팅에서는 Swift Set의 기본 사용법과 주요 특징들을 예제와 함께 알아보겠습니다.Set의 기본 사용법Set를 선언하고 초기화하는 방법은 매우 간단합니다. Swift에서는 Set 타입을 사용하여 중복 없는 값들의 집합을 생성할 수 있습니다.var fruitSet: Set = ["Apple", "Banana", "Orange"]print(fruitSet)// 출력: ["Apple", "Banana", "Orange"]여기서 주의할 점은 Set의 출력 순서는 정의되지 않는다는 것입니다. 따라서 순서가 중요한..