본문 바로가기

Swift 기초5

[iOS Swift5] 프로퍼티 래퍼 Property Wrapper? 안녕하세요. AboutTech입니다. 이번 포스팅에서는 Swift 5.1 버전부터 적용되기 시작한 Property Wrapper에 대해 알아보고자 합니다. 이전에 OOP를 알아보면서 연산 프로퍼티 사용을 조금 더 간단하게 도와주는 개념입니다. 만약 클래스나 구조체 내부에 선언된 연산 프로퍼티의 로직을 다른 클래스나 구조체에서도 동일하게 사용하기 위해서는 어떻게 해야 될까요? 해당 로직을 복사해서 붙여 넣는 방식으로는 한계점에 직면하게 됩니다. 이 문제를 해결해주는 것이 바로 프로퍼티 래퍼입니다. Property Wrapper 사용법 간단한 구조체를 선언했고, 인스턴스를 생성해서 name이라는 프로퍼티를 출력하고 있습니다. name 연산 프로퍼티는 구조체 내부의 value 값을 통해 새로운 값을 할당하고.. 2024. 1. 13.
[iOS Swift5] Collection, 배열과 딕셔너리, Set 기본 안녕하세요. AboutTech입니다. Swift에서 다양한 데이터와 객체들을 집합체로 묶어 관리할 수 있는 타입을 컬렉션이라고 합니다. 컬렉션 타입에는 대표적으로 배열과 딕셔너리가 있는데요 데이터들을 한 번에 담아서 관리할 수 있는 방법에 대해 알아보도록 하겠습니다. Swift Array, 배열 배열은 순서있는 컬렉션입니다. 따라서 배열은 다양한 타입의 데이터를 순서대로 저장할 수 있습니다. 먼저 배열을 선언하는 방법은 다음과 같습니다. var array = [타입]() String 타입의 값을 담고 있는 배열을 선언하려면 타입에 String을 적어주시면 됩니다. var array = [String]() 초기값을 N개 가진 배열을 만들기 위해서는 repeating, count 매개변수에 인자를 전달해 주.. 2024. 1. 11.
[iOS Swift5] 열거형 구조체 기본 기초 Swift에서 클래스만큼이나 자주 사용되는 타입이 바로 구조체입니다. 이번 포스팅에서는 클래스와 구조체를 비교하면서 SwiftUI를 활용한 iOS 앱 개발에 필요한 구조체와 열거형의 개념에 대해 간단히 알아보도록 하겠습니다. Value type VS Reference Type Swift에서 데이터를 다루는 방식은 크게 (값 타입)Value Type과 (참조 타입)Reference Type이 있습니다. 차이점을 간단하게 알아보면 값 타입은 값 자체가 복사되어 전달됩니다. 이를 pass by value라고 합니다. 반면 참조 타입은 참조가 전달되어 같은 인스턴스를 공유하게 됩니다. 이를 pass by reference라고 합니다. 즉 데이터의 값만을 전달하기 위해서는 값 타입을 사용하고, 참조를 전달해서 공.. 2024. 1. 10.
[iOS Swift5] 객체지향 프로그래밍 기초 클래스 프로토콜 익스텐션 Swift는 객체 지향 프로그래밍 언어(Object Oriented Programming)입니다. 그만큼 객체를 사용한 프로그래밍을 지원하고 있다는 말인데요, 객체는 재사용가능한 독립 기능 모듈로 클래스 구조체의 형태로 지원되고 있습니다. 이번 포스팅에서는 Swift에서 바로 사용가능한 클래스의 기본 개념에 대해 알아보고자 합니다. 클래스는 왜 사용하나요? 먼저 클래스를 사용하는 이유에 대해 알아보겠습니다. #1 캡슐화 OOP에서 클래스는 멤버를 하나로 묶어 캡슐화 할 수 있습니다. 이는 데이터를 보호하고 유지보수하는데 용이하다는 장점을 가지고 있습니다. 또한 접근제어자를 통해서 클래스 멤버에 접근할 수 있는 안전장치를 걸 수 있기 때문에 안전하게 데이터를 사용할 수 있습니다. #2 추상화 클래스를 사용.. 2024. 1. 9.
[iOS Swift5] 함수, 메서드 그리고 클로져 기본 개념 프로그래밍 영역에서 함수는 반복적인 작업을 대폭 줄여주는 장점이 있습니다. 애플의 스위프트 언어 또한 함수를 제공하고 있는데요, 이번 포스팅에서는 Swift의 함수에 대해 알아보도록 하겠습니다. Swift 함수와 메서드 기본 함수 Function은 특정 기능을 수행하기 위한 코드 블럭입니다. 특정 데이터를 매개변수로 받을 수도 있고, 함수의 결과물을 반환받을 수도 있습니다. 일반적으로 특정 기능을 수행하기 위한 코드 블럭을 함수라고 지칭합니다. 함수와 유사하게 사용되는 개념이 메서드인데요, 메서드는 특정 클래스나 구조체 내에서 사용하는 함수를 통상 메서드라고 지칭합니다. 함수와 메서드가 작동하는 방식은 동일하지만 사용방법에서 조금 다르다는 차이점이 있습니다. Swift에서 함수를 사용하는 기본 방법은 다.. 2024. 1. 8.