분류 전체보기 (49) 썸네일형 리스트형 내가 몰라서 쓰는 스위프트(19) contains contains는 Swift의 컬렉션 타입(Array, Set, Dictionary 등)에서 특정 값이 포함되어 있는지를 확인하는 메소드이다. 이 메소드는 컬렉션 내에서 주어진 요소가 존재하는지 여부를 Bool 값으로 반환한다.collection.contains(element) 여기서 collection은 배열, 집합 등 컬렉션 타입이며, element는 검색할 요소이다.반환 값:요소가 컬렉션에 포함되어 있으면 true요소가 포함되어 있지 않으면 falsestruct ContentView: View { let names = ["Kim", "Lee", "Park"] let selectedName = "Lee" var body: some View { VStack { .. 내가 몰라서 쓰는 스위프트(18) extension Swift의 Extension은 기존 타입에 기능을 추가하는 강력한 도구이다. 이는 타입의 원본 구현을 변경하지 않고도 기능을 확장할 수 있게 해준다. 공식 문서에 따르면, Extension은 다음과 같은 기능을 추가할 수 있다:새로운 메서드 추가새로운 프로퍼티 추가 (연산 프로퍼티 포함)서브스크립트 추가초기화 구문 추가 (구조체와 클래스에만 해당)프로토콜 채택 및 구현// 기존 구조체 정의struct Person { var name: String var age: Int}extension Person { func greet() -> String { return "Hello, my name is \(name) and I am \(age) years old." } .. 내가 몰라서 쓰는 스위프트(17) ForEach Swift의 forEach는 컬렉션의 각 요소에 대해 주어진 클로저를 순서대로 실행하는 고차 함수이다. 이는 for-in 루프와 유사하지만, 클로저 구문을 통해 더 간결하게 작성할 수 있다. forEach는 컬렉션의 모든 요소를 한 번씩 방문하며, 주어진 작업을 수행한다.공식 문서의 설명Apple 공식 문서에서는 forEach에 대해 다음과 같이 설명하고 있다:forEach는 컬렉션의 각 요소에 대해 클로저를 호출한다.forEach는 비동기 작업을 처리하거나 컬렉션의 요소들을 반복하여 특정 작업을 수행할 때 유용하다.forEach는 조기 종료를 지원하지 않는다. 즉, return이나 break를 사용할 수 없으며, 모든 요소에 대해 클로저가 실행된다. let numbers = [1, 2, 3, 4, 5].. 내가 몰라서 쓰는 스위프트(16) flatMap flatMap은 Swift에서 사용되는 고차 함수로, 특히 컬렉션이나 옵셔널 타입을 다룰 때 유용하다. SwiftUI에서도 데이터를 변환하거나 필터링할 때 flatMap을 사용할 수 있다.flatMap의 기본 개념flatMap은 컬렉션의 각 요소에 대해 제공된 클로저를 적용하고, 그 결과를 단일 컬렉션으로 평탄화(flatten)하는 함수이다. 클로저가 반환하는 값이 옵셔널이거나 또 다른 컬렉션일 때 유용하다. 기본적으로 map과 비슷하지만, flatMap은 중첩된 컬렉션이나 옵셔널을 하나의 구조로 반환한다.공식 문서의 설명Apple의 공식 문서에서는 flatMap에 대해 다음과 같이 설명하고 있다:flatMap(_:) 메서드는 각 요소에 클로저를 적용하여 생성된 배열을 반환하고, 이 배열들을 하나의 배열.. 내가 몰라서 쓰는 스위프트(15) reduce reduce는 Swift의 고차 함수로, 컬렉션의 각 요소를 결합하여 단일 값을 생성하는 데 사용된다. 이 함수는 초기값과 결합 연산을 수행할 클로저를 매개변수로 받아, 컬렉션의 모든 요소를 차례대로 처리하면서 누적된 결과를 반환한다.array.reduce(initialResult) { (accumulatedResult, currentElement) in // 계산 로직}initialResult: 이 파라미터는 reduce가 시작할 때 사용하는 초기값이다. 이 값은 누적 결과의 초기 상태를 설정한다.클로저: 클로저는 두 개의 인자를 받는다.accumulatedResult: 현재까지의 누적 결과.currentElement: 배열의 현재 요소.클로저는 두 인자를 받아서 계산을 수행하고, 계산된 결과를 .. 내가 몰라서 쓰는 스위프트(14) filter SwiftUI에서 filter는 주로 컬렉션을 다룰 때 사용되는 메서드로, 특정 조건을 만족하는 요소만 선택하여 새로운 컬렉션을 생성하는 역할을 한다. filter 메서드는 클로저를 사용해 컬렉션의 각 요소를 평가하며, 이 클로저의 반환값이 true인 요소만 최종 결과에 포함된다.공식 문서에서는 filter를 다음과 같이 설명하고 있다:"Returns an array containing, in order, the elements of the sequence that satisfy the given predicate." 즉, 시퀀스(배열, 리스트 등) 내 요소들 중 조건을 만족하는 요소들을 걸러내어 새로운 배열로 반환한다는 의미이다. struct ContentView: View { let number.. 내가 몰라서 쓰는 스위프트(13) Map Swift의 map 함수는 시퀀스(예: 배열)의 각 요소에 주어진 변환(클로저)을 적용하여 새로운 배열을 반환한다. 이 함수는 기존 데이터 배열을 변형(transform)하는 데 유용하다.map 함수의 동작 방식map 함수는 기본적으로 다음과 같은 절차로 동작한다:원본 배열의 첫 번째 요소부터 시작하여, 각 요소에 대해 클로저를 실행한다.클로저는 해당 요소를 변환하거나 다른 값을 생성한다.클로저의 결과를 새로운 배열에 추가한다.배열의 모든 요소에 대해 클로저가 실행된 후, 변환된 요소들로 구성된 새 배열을 반환한다. let numbers = [1, 2, 3, 4, 5]// 각 숫자를 2배로 변환하여 새로운 배열을 생성let doubledNumbers = numbers.map { $0 * 2 }print(.. List 관련 정리 SwiftUI의 List는 스크롤 가능한 항목들의 컬렉션을 표시하는 데 사용되는 컨테이너 뷰이다. UIKit의 UITableView와 유사하지만 SwiftUI의 선언적 방식으로 작성된다. List는 기본적으로 동일한 유형의 데이터를 반복하여 화면에 표시할 수 있으며, 섹션을 구분하여 그룹화할 수도 있다.struct ContentView: View { let fruits = ["Apple", "Banana", "Cherry"] var body: some View { List(fruits, id: \.self) { fruit in Text(fruit) } }} LIst를 사용하는데, 뷰의 배경화면을 바꾸기위해 .background()을 사용해보거나.. 이전 1 2 3 4 5 6 7 다음