세상을 더 편리하게
article thumbnail
[SwiftUI] StateObject와 ObservedObject 차이점
Swift/Apple Framework 2023. 4. 22. 03:39

2023.01.12 - [Swift & iOS/SwiftUI] - [SwiftUI] Who is retaining @StateObject and ObservedObject [SwiftUI] Who is retaining @StateObject and ObservedObject 면접관) @StateObject와 @ObservedObject로 문제를 해결해셨다는데 어디서 retain하고 있죠? 나) ... 잘 모르겠습니다. ObservedObejct의 Retain(소유)은 누구일까? 간단하게 위에 처럼 작성하였다. StateView는 @StateO slowsure.tistory.com 이전 글에서 누가 Retain하고 있냐에 대해서 알아보았다. 이제 특성의 차이를 알아보고자 한다. 사실 StateObject..

article thumbnail
[iOS / Swift] sort() 는 어떤 알고리즘을 쓸까?
Swift/Apple Framework 2023. 4. 22. 01:28

Swift에는 sort라는 함수가 있다. 정렬에 대한 모의면접을 봤는데 iOS에는 어떤 sort가 쓰일까요?난 대답하지 못했다. sort에 대해서 사용만 해봤지 sort 알고리즘에 대해서는 생각하지 못했다. modified timsort Swift는 2018년에 modified Timsort로 교체했다고 Issue가 남아있었다.! 수정된 Timsort.... 우선 Timsort가 무엇인지에 대해서 알아보자. Timsort는 하이브리드 알고리즘이다. 전기랑 기름으로 가는 차를 하이브리드차 라고 하듯이 2개 이상의 알고리즘을 섞은 것을 하이브리드 알고리즘이라고 한다. 그럼 이름에 담긴 뜻 Tim은? 최초 고안해낸 Tim Peter의 성을 땄다. 요약하면 다음과 같다, 1. 일정한 규칙에 의해서 배열의 크기를..

article thumbnail
[CS] 정렬 sort
Programming/CS 2023. 4. 21. 21:32

O(n^2) 버블 정렬 0번가 1번 / 1번과 2번 / 3번과 4번 계속 비교하며 가장 큰 수를 우측으로 이동시킨다. 다시 0번 부터 n - 1 까지 2번째로 큰 수를 우측으로 이동시킨다. 왜 버블인가? - 원소들이 거품처럼 올라오는 것처럼 보여서 버블 정렬 선택 정렬 전체를 훑어서 가장 작은 수를 처음에 넣는다. 다시 전체를 훑어서 그 다음으로 작은 수를 그 다음에 넣는다. 마지막까지 수행해서 모든 수를 정렬한다. 왜 선택 정렬인가? - 위치를 선택해서 어울리는 수를 찾는 거라서 선택 정렬 삽입 정렬 정렬된 배열을 점차 늘려가는 방향으로 배열한다. 0 ~ k 번째까지 정렬된 배열이고 k + 1 번째 수를 정렬해야한다면 0 ~ k 사이에서 k + 1 번째 수의 위치를 찾아 삽입한다. 왜 삽입 정렬인가? ..

article thumbnail
[iOS / SwiftUI] Combine - 맛보기
Swift/Apple Framework 2023. 4. 21. 02:29

잡담 면접관) 컴바인 아세요? 나) 콤바인 타봤습니다. 면접관 ) 아니... Combine.... 요새 콤바인이 모르는 사람도 많을 것이다. 하지만 iOS 개발자로서 Combine에 대해서 알아보자. SwiftUI에 대해서 필수이기에!! (써놓고 무슨 개그인지 나도 모르겠다.) Combine 언제나 그랬든 우선 WWDC 소개 영상을 보고오는 것을 추천한다. Combine이 나온 이유는 데이터의 동기화가 주 목적이다. 그래서 그런지 속속 RxSwift의 빈자리를 대체하고 있다. 예제로 살펴보기 import Combine import SwiftUI struct CombineView: View { var vm = CombineViewModel() @State var anyCancellable = Set() @..