내일배움캠프 iOS

iOS) TIL #15 야구게임 보완, 고차함수 map

yjuni22 2024. 11. 8. 20:58

해설강의가 나와 시청 후

보완 및 공부해야할 것들을 정리해 보았다.

 

1안에서 생각했던 내용

= 하드코딩 이라고 한다고 함. 

[1, 2, 3, 4, 5, 6, 7, 8, 9]  배열을 직접 만들어서 진행하는 것

 

레인지(Range,범위) 메서드를 이용하는 방법

var arr: [Int] = []
for number in (1...9) { // 반복문을 통해 1~9 하나씩 넣음
    arr.append(number)  //append 배열에 삽입하는 메서드
    }

예시 코드와 비교

예시 코드
내가 구현한 코드


고차함수 / map

고차함수란?

함수를 파라미터로 사용학나 함수로 리턴하는 함수

 

기본 고차함수 

1) map

2) filter

3) reduce

4~6) foreEach, compactMap, flatMap

 

 

map

 

let numbers = [1, 2, 3, 4, 5]

numbers.map

이미 swift에서 구현해 놓은 함수.

파라미터를 함수로 받는 함수

(Int) (정수) throws -> T (generic)

클로저로 사용 가능

기존의 배열의 각 아이템을 새롭게 매핑

1,2,3,4,5 하나씩 꺼내서 새로운 배열로 변형시켜줌

(타입을 바꿔줄 수도 있음) ↓

for문을 사용하여 변형시켜줄 수도 있지만 복잡하고 귀찮기 때문에 사용.

 

var arr = (1...9).map { $0 }

 (1...9)를 배열로 변형시켜줌(매핑)

-> [1, 2, 3, 4, 5, 6, 7, 8, 9]

 

 


 

랜덤으로 섞어주는 방법 

var arr = (1...9).map { $0 }

arr.shuffled()

 

 

shuffle() 과 shuffled() 의 차이 이해하기

https://www.swift.org/documentation/api-design-guidelines/

 

Swift.org

Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.

www.swift.org

var arr = []

arr.shuffle()  // 변경이 일어나는

arr.shuffled() // 변경이 일어나지 않는

이 부분은 아직 이해하기에 필요한 개념이 부족하기에 다음에 다시 찾아보기로