본문 바로가기

Swift '문법'

(44)
filter filter 함수는 배열(Array)의 고차 함수로, 주어진 조건에 맞는 요소들만을 걸러내어 새로운 배열을 반환하는 역할을 합니다. 즉, 배열에서 특정 조건을 만족하는 값들만 남기고, 나머지는 제외합니다.filter 함수의 기본 형태 (Swift)func filter(_ isIncluded: (Element) throws -> Bool) rethrows -> [Element] 매개변수: 조건을 나타내는 클로저를 매개변수로 받습니다. 클로저는 배열의 각 요소를 평가하여 true 또는 false를 반환하며, true를 반환한 요소만 필터링됩니다.반환값: 조건을 만족하는 요소들로 이루어진 새로운 배열을 반환합니다.filter 함수의 사용 예시1. 짝수만 필터링let numbers = [1, 2, 3, 4, 5..
map 스위프트의map은 컬렉션의 각 요소에 동일한 연산을 적용하고, 그 결과를 새로운 배열이나 컬렉션으로 반환하는 고차 함수입니다. 주로 배열이나 딕셔너리, 세트 같은 컬렉션에서 사용됩니다.사용법:map함수는 클로저(익명 함수)를 인자로 받아, 컬렉션의 각 요소에 해당 클로저를 적용한 후 그 결과를 반환합니다.문법:let result = array.map { (element) in // 변환 작업 return 변환된 값}예시:let numbers = [1, 2, 3, 4, 5]let squaredNumbers = numbers.map { $0 * $0 }print(squaredNumbers) // 출력: [1, 4, 9, 16, 25]위 예제에서,map를 사용하여 배열의 각 요소를 제곱한 결과를 ..
protocol [프로토콜] 스위프트에서 **프로토콜(Protocol)**은 특정 기능이나 속성을 요구하는 청사진을 정의하는 개념입니다. 프로토콜을 채택하는 클래스, 구조체, 열거형은 이 프로토콜에서 요구하는 메서드, 프로퍼티, 기타 요구사항을 반드시 구현해야 합니다. 즉, 프로토콜은 특정 기능을 구현하기 위한 약속을 의미하며, 이를 통해 코드의 일관성과 재사용성을 높일 수 있습니다.프로토콜 정의프로토콜은 protocol 키워드를 사용하여 정의됩니다. 프로토콜 자체는 구현을 제공하지 않으며, 구현은 해당 프로토콜을 채택한 타입에서 이루어집니다.protocol ProtocolName { // 요구 사항을 정의}프로토콜 요구 사항프로토콜은 메서드, 프로퍼티, 서브스크립트 등을 요구할 수 있습니다.프로퍼티 요구사항프로토콜은 프로퍼티..
상수/변수 상수 (Constants)상수는 한 번 값이 설정되면 변경할 수 없는 저장 공간입니다. 즉, 상수에 값을 할당한 이후에는 그 값을 다시 수정할 수 없습니다.상수는 코드에서 변하지 않는 값을 나타낼 떄 사용됩니다.'let' 키워드를 사용하여 선언합니다.let 자동차브랜드 = "현대"let 오토바이브랜드 = "할리데이비슨"특징:상수의 값은 초기화 이후 변경할 수 없습니다.주로 변하지 않는 값을 표현할 떄 사용합니다.상수의 사용은 코드의 안전성을 높여줍니다. 실수로 값이 변경되는 것을 방지할 수 있습니다.변수 (Variables)변수는 값이 변경될 수 있는 저장 공간입니다. 즉, 변수에 값을 할당한 후 나중에 다른 값으로 변경할 수 있습니다.선언방법: 'var' 키워드를 사용하여 선언합니다.var 온도 = 3..
저장 프로퍼티 (Stored Property),연산 프로퍼티 (Computed Property) Swift 프로그래밍 언어에서 사용하는 두 가지 프로퍼티 유형입니다. 이 두 프로퍼티는 클래스나 구조체에서 객체의 데이터를 저장하거나 계산하는 역할을 합니다.저장 프로퍼티 (Stored Property)정의: 저장 프로퍼티는 변수 또는 상수로 선언되어, 객체의 인스턴스에 특정 값을 저장하는 역할을 합니다. 객체가 생성될 때 메모리에 공간이 할당되고, 저장된 값을 변경하거나 참조할 수 있습니다.변경 가능 여부: var로 선언된 저장 프로퍼티는 변경 가능하며(mutable), let으로 선언된 저장 프로퍼티는 한 번 초기화된 후 변경할 수 없습니다(immutable).struct Person { var name: String // 저장 프로퍼티 let birthYear: Int // 상수 저장..
Closure '클로저' 스위프트(Swift)에서 클로저(Closure)는 일종의 익명 함수로, 함수의 일종이지만 이름이 없는 코드 블록을 의미합니다.클로저는 변수나 상수에 할당될 수 있고, 함수에 인자로 전달될 수 있으며, 함수에서 반환될 수도 있습니다.클로저는 특히 함수형 프로그래밍 패러다임을 따를 떄 매우 유용하게 사용됩니다.클로저의 기본 형태클로저는 세 가지 형태로 나타날 수 있습니다.1.전역 함수(Global Function): 이름이 있는 클로저이며, 특정 범위 밖에서도 사용할 수 있습니다.2. 중첩 함수(Nested Function): 다른 함수 내에 정의된 이름이 있는 클로저입니다.3. 클로저 표현(Closure Expression): 경량화된 클로저 문법을 사용하여 이름 없이 정의된 클로저입니다. 스위프트의  클..
MVC패턴 MVC 패턴은 Model-View-Controller의 약자로, 소프트웨어 개발에서 널리 사용되는 아키텍처 패턴입니다.이 패턴은 애플리케이션을 세 가지 주요 역할로 분리하여 유지보수와 확장성을 높입니다. Swift와 UIKit을 사용하는 ios 개발에서 MVC 패턴은 흔히 사용되며, 각 요소는 다음과 같이 정의됩니다.1. MOdel 역할: 애플리케이션의 데이터와 비즈니스 로직을 관리 합니다. 데이터를 저장하고 조작하며, 데이터베이스 와 통신하거나 네트워크 요청을 처리하는 등의 기능을 포함할 수 있습니다.예: 사용자의 정보, 게임 점수, 제품 목록 등의 데이터를 관리하는 클래스 또는 구조체.2.View역할: 사용자에게 보여지는 UI를 담당합니다. 데이터를 표시하고, 사용자로부터 입력을 받아 이를 컨트롤러에..
비동기(Asynchronous),네트워킹(Networking) "비동기"와 "네트워킹" 은 소프트웨어 개발에서 중요한 개념이며, 특히 네트워크 프로그래밍 에서 자주 함께 사용합니다.비동기(Asynchronous)비동기 프로그래밍은 코드의 실행이 특정 작업(예: 파일읽기, 네트워크 요청 등)을 기다리지 않고 바로 다음 작업으로 넘어가는 방식 입니다.비동기 작업이 완료되면, 그 결과를 처리하는 콜백 함수나 프로미스(Promise)를 통해 응답을 받습니다.비동기의 장점:효율적인 자원 사용: 비동기는 기다리는 동안 CPU를 다른 작업에 사용할 수 있기 떄문에 자원을 효율적으로 활용할 수 있습니다.향상된 응답성: 특히 UI를 다루는 프로그램에서 비동기는 사용자 인터페이스를 블로킹하지 않으므로 응답성이 높다.네트워킹(Networking)네트워킹은 컴퓨터 간의 데이터 통신을 말..