[Swift] Raw Values (원시 값)
·
Apple/Swift
이번 시간에는 Raw Values에 대해서 알아보겠습니다. Raw Values는 우리말로 '원시 값'이라고 표현합니다. Swift에서 Raw Value는 열거형의 기능 중 하나로, 각 케이스에 미리 정의된 상수 값을 할당할 수 있도록 해주는 기능을 가리킵니다. 열거형은 관련된 값들의 그룹을 정의하고, 각각의 값은 고유한 식별자인 케이스로 나타낼 수 있습니다. 이러한 케이스에는 Raw Values을 할당할 수도 있습니다. 열거형에서 Raw Values을 사용하면 해당 값을 통해 열거형 인스턴스를 생성하거나, 현재 값을 확인하는 등 다양한 작업을 수행할 수 있습니다. Raw Value는 주로 외부 시스템과의 상호작용이 필요한 경우나, 특정 데이터를 저장하고 전송하기 위해 사용됩니다. Raw Values는 e..
[Swift] 지연 저장 프로퍼티(Lazy Stored Properties)
·
Apple/Swift
지연 저장 프로퍼티(Lazy Stored Properties) Swift에서 인스턴스를 생성할 때 프로퍼티에 값이 필요 없다면 프로퍼티를 옵셔널로 선언해줄 수 있습니다. 그런데 그것과는 조금 다른 용도로 필요할 때 값이 할당되는 지연 저장 프로퍼티(Lazy Stored Properties)가 있습니다. 또한 지연 저장 프로퍼티는 호출이 있어야 값을 초기화를 하게 되고 lazy라는 키워드를 써서 사용합니다. 지연 저장 프로퍼티는 초기 값이 필요할 때 계산되지 않고, 처음으로 접근될 때만 계산이 됩니다. 지연 저장 프로퍼티는 주로 복잡한 클래스나 구조체를 구현할 때 많이 사용합니다. 지연 저장 프로퍼티를 사용한다면 리소스를 절약하고 성능을 향상시킬 수 있다는 장점이 있습니다. 지연 저장 프로퍼티를 사용하는 ..
[Swift] 함수에 대한 개념과 다양한 예시 소스
·
Apple/Swift
이번 시간에는 Swift에서 함수에 대해서 간단히 알아보고 함수를 어떻게 사용하는지와 예시를 통해서 살펴보도록 하겠습니다. 함수란? 먼저 함수를 사용하려면 함수에 대해서 알아야겠죠? 프로그래밍을 배우신 분이라면 잘 알고 계실 겁니다. 다른 언어와 마찬가지로 Swift에서의 함수도 크게 다른 부분은 없습니다. Swift에서 함수는 특정 작업을 수행하는 코드 블록으로 실행시 데이터를 제공해야 하거나, 함수를 호출한 코드에 작업한 결과를 반환할 수도 있습니다. 함수를 제대로 이해하려면 parameter(매개변수)와 argument(인수)의 차이점에 대해서 알아야 합니다. 쉽게 정리해보자면 함수 정의부의 값을 매개변수, 호출시의 값은 아규먼트라고 부릅니다. func fun(param: Int) { print(p..
[Swift] 제어문과 다양한 예제 정리
·
Apple/Swift
이번 시간에는 예전에 다뤘던 Swift의 제어문에 대해서 좀 더 자세히 알아보고 예제와 함께 정리해보려고 합니다! 예전에 작성하였던 제어문 글은 링크로 남겨둘테니 관심 있으신 분은 같이 보셔도 좋습니다! https://zeromin-code.tistory.com/35 for문 Swift에서 for 반복문은 for-in 반복문이라고도 불립니다. 그 이유는 for문의 구조를 살펴보면 알 수 있습니다. for문의 구조를 살펴보도록 하겠습니다. for 상수명 in 컬렉션 또는 범위 { 실행될 코드 } 이렇게 for in을 사용하기 때문에 for-in문이라고 불립니다. '상수명'은 반복문이 돌면서 컬렉션 또는 범위에서 가져온 항목을 담게 될 상수이며, for문에서 주의해야 할 점은 for문 다음의 실행 코드가 한..
[Swift] 업캐스팅과 다운캐스팅, Swift와 Kotlin 옵셔널의 차이
·
Apple/Swift
이번 시간에는 업캐스팅과 다운캐스팅에 대해서 간단히 알아보고 Swift에서 사용되는 옵셔널이 코틀린에서 사용되는데 두 차이점에 대해서 간단히 표로 정리해보려고 합니다! 업캐스팅(Upcasting)과 다운캐스팅(Downcasting)업캐스팅(Upcasting)과 다운캐스팅(Downcasting)은 프로그래밍에서 주로 객체 지향 언어에서 사용되는 개념입니다. 이 두 용어는 클래스의 계층 구조와 관련이 있으며, 특히 상속 관계에 있는 클래스 사이에서 타입 변환을 할 때 사용됩니다. 먼저 업캐스팅에 대해서 살펴보겠습니다. 업캐스팅 (Upcasting): 업캐스팅은 하위 클래스의 인스턴스를 상위 클래스 타입으로 변환하는 것을 말합니다. 이는 항상 안전하게 수행할 수 있으며, 별도의 검사나 예외 처리가 필요하지 않..
[Swift] 옵셔널과 Nil합병 연산자
·
Apple/Swift
저번 시간의 내용에 이어서 이번 시간에도 옵셔널에 대한 내용을 살펴보고 마무리를 하도록 하겠습니다. 여러 옵셔널 언래핑 저번 글에서는 옵셔널 변수를 언래핑하는 방법에 대해서 공부를 했는데 여러 옵셔널 변수를 한 번에 언래핑하는 방법도 존재하기 때문에 여러 옵셔널을 한 번에 언래핑하는 방법에 대해서 살펴보겠습니다. 여러 옵셔널 변수를 한 번에 언래핑하는 방법은 간단합니다. 바로 콤마를 사용하면 되는데 소스 코드를 보면서 설명하도록 하겠습니다. (*일반적으로 ,는 or 연산자이지만 Swift에서는 ,는 and 연산자이다.) var pet1: String? var pet2: String? pet1 = "cat" pet2 = "dog" if let firstPet = pet1, let secondPet = pe..