Swift TIL(22-1)

웰디(Well-D)·2023년 9월 8일
0

Sweet & Soft, SWIFT

목록 보기
20/76

Copy on Write 최적화를 공부하다가 sort() 가 그래서 자기자신을 반환하는건지 마는지가 궁금해졌다.
검색을 해보다가 Swift 내부의 sort()함수 구동에 대해 구체적으로 분석해 풀어놓으신 글을 발견했다.

스위프트 sort() 함수의 내부구동

하지만 아직 이해를 다 못한게 팩트... 사실 void 를 반환한다고 생각을 해줘야할것같은게 단순히 sort()만 사용했다고 할당하라는 에러가 발생하지 않기때문이다. 예를들어 이런 에러.. Reuslt of call to sorted()

즉,
array.sort() 이렇게하면 그냥 array원본의 순서가 바뀔뿐 이걸 다시 '재할당하세요 return 형이 있으니까요' 하지 않는 다는 뜻이다.

그런데 해당 게시물을 읽어보면 자기자신에게 재할당(대입)한다 라는 이야기가 나온다.

sorted(by:)를 호출해서 정렬한 결과값을 받고 나 자신에게 대입을 한다

..공부가 더 필요할것같다 ^^

내가 아직 xcode셋팅이 부족해서 그냥 편하게 알아보지 못하는게 아쉽다.

사실 여기에서 가장 중요한 것은 sort() 와 sorted 특히 sorted()가 사본을 만들어서 정렬 후 반환한다는 점을 알아야하는 것이다.

일단 중요한것부터 잘 배우자!(이렇게 기록해놨으니 언젠가 한번 더 들여다보면서 고민은 해보겠지 나자신..?)

참고로 대부분의 컬렉션을 다루는 메서드들은 update, remove 과정에서 행위를 한후에 이전 요소를 반환하는데, 이때의 리턴형은 Self.Element이다.
즉 그 자신 컬렉션의 요소의 타입이라는 의미이다.

profile
Wellness 잘사는 것에 진심인 웰디입니다. 여러분의 몸과 마음, 통장의 건강을 수호하고싶어요. 느리더라도, 꾸준히

0개의 댓글