#Morning Algorithm
햄버거 만들기
- 해결
- 1시간
- replacingOccurrences(of:, with:)를 사용해 해당 문자열을 공백으로 만드는 작업을 반복해 해결하려함
- 한번의 loop에서 여러개의 문자열을 치환했을경우 최종 count가 달라짐
- Stack을 사용해 stack의 위에서 4개만 추출해 해당 문자열과 비교후 같다면 제거하는 방식으로 해결
알고 갈점
removeLast(n: Int) - n 개수 만큼 뒤에서 삭제
for (index, element) in arr.enumerated() {} - 인덱싱
prefix(n), suffix(n) - 앞, 뒤에서 n개 만큼의 열
#UISwitchControl in UITableViewCell
- 셀에 추가하는 것이 아니라 셀의 contentView에 추가해야됨
- 데이터 전달 방법: protocol을 사용한 delegate 패턴 복습(TableViewCell 내부 UISwtich의 이벤트 처리를 ViewController에서 하기 위함)
#SwiftUI - Layout
- layout Procedure
- Parent 는 Child 에게 size 제안
- Child 는 Parent 의 크기 제안을 고려해서 (완전히 무시도 가능) 자신의 size 를 결정
- Parent 는 child 의 결정을 존중 후 자신의 좌표 공간 내에 child 를 위치
- modifier 를 적용하면, 기존의 view 를 수정하는게 아니라 새로운 view 를 만듭니다
- frame은 제약조건이 아닌 하나의 view로 생각
- StackView를 활용해 늘어날 부분에 spacer()을 적용 -> 자식뷰가 각자 크기와 위치를 주장하며 부모뷰가 맞춰짐
References
- https://sujinnaljin.medium.com/swiftui-swiftui-%EC%9D%98-layout-3-%EB%8B%A8%EA%B3%84-cf70ba00f88e
- https://velog.io/@whale/SwiftUI-Layout-%EB%8B%A4%EB%A3%A8%EA%B8%B0