minuco
article thumbnail
Published 2023. 3. 23. 16:58
[Swift] Closure - 축약 iOS/Swift

안녕하세요.

minuco입니다.

 

진짜 마지막!

 

closure 가 간결해지는 순서를 알아볼 거예요

내장 closure인 sort를 예로 들겠습니다!

 

Closure를 간결하게

우선 arry를 하나 만들고 sort 함수를 호출하는 과정을 축약해 보겠습니다.

(sort함수는 기본적으로 오름차순으로 정렬된다.)

var names = ["abcd","bacd","cabd","dabc"]

// 형태: sort(by: (String, String) throws -> Bool)
//1.  기본 형태
names.sort(by: {(lhs: String, rhs: String) -> Bool in
// lhs(left hand side)왼쪽, rhs(right hand side)오른쪽.

    return lhs > rhs

})
/* 결과 lhs > rhs 
$0 과 $1을 비교해서 큰것부터 작은순 으로 정렬

[dabc, cabd, bacd, abcd]
*/

/* 결과 lhs < rhs 
$0 과 $1을 비교해서 작은순부터 큰 순 으로 정렬

[abcd, bacd, cabd, dabc]
*/

//2. 축약 - type 지우기
names.sort(by: {(lhs, rhs) -> Bool in
    return lhs > rhs
})

//3. 축약 - 반환 type 지우기
names.sort(by: { lhs, rhs in
    return lhs > rhs
})

//4. 축약 - return 지우기
names.sort(by: { lhs, rhs in
    lhs > rhs
})

//5. 축약 - 변수 지우기
names.sort(by: { $0 > $1 })

//6. 축약 - 다 지우기
names.sort(by: > ) // 오름차순
      or 
names.sort(by: < ) // 내림차순

 

 


이번글은 굉장히 짧네요..?

하하... 

하 sort() 함수와 sorted() 함수는 항상 비교되는데,

둘의 차이점도 공부하시면 좋을 거 같습니다.

'iOS > Swift' 카테고리의 다른 글

[Swift Network] URLSession  (0) 2023.04.12
[Swift Network] URLSession - 사전지식  (0) 2023.04.12
[Swift] Closure - escaping  (0) 2023.03.23
[Swift] Closure - Capturing  (0) 2023.03.23
[Swift] Closure 기본 개념  (2) 2023.03.20
profile

minuco

@minuco

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!