-
210613 - TILTIL/2021 2021. 6. 14. 00:08
Clean Code - 객체와 자료구조(Object and DataStructure)
- 변수를 private으로 선언하더라도 각 값마다 get set 메서드를 제공한다면 구현을 외부로 노출하는 셈이다.
- 추상 인터페이스(프로토콜??)을 제공해 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 한다.
- 객체지향에서 어려운 변경은 절차적인 코드에서 쉽고 반대도 성립한다.
- 즉, 때로는 단순한 자료구조와 절차적인 코드가 적합한 상황도 있다.(근데 난 모르겠다.)
이번 장은 결과적으로 어떻게 하라는건지 아직 이해하기 힘들었다. (특히 자바로 쓰여있어서 그런 거 같다.) 여기서 말하는 DataStructure가 struct를 말하는 건지 class지만 단순히 구조를 나타내기 위한 객체를 말하는 건지부터 정확하게 알 수 없다. (struct란게 따로 있으니 저건 진짜 구조를 말하는 거겠지?)
Closure
까먹고 있던 부분은 값을 캡쳐하는 부분.
Swift에서 클로저에서는 값을 캡처할 때 참조를 캡처해서 클로저 내부에서 값을 변경하면 원본 값이 변한다.
그 외 multi closure, auto closure는 거의 사용을 안 하니까 잊고 있었는데 다시 공부했다,
Multi Select ImagePickerView
iOS 14.0이상에는 애플에서 제공해주는 api로 쉽게 구현했는데 그 이후가 문제다.
물론 github에 올라와있는 오픈소스를 이용하면 구현하는데 10분도 안 걸리겠지만 그걸 이용하기 전에 내가 구현을 먼저 해보려고 공부 중이다.
일단 생각한 방법은 사진 추가를 누르면 actionSheet로 카메라 앨범 선택을 나타내고 카메라는 기존에 사용하던 pickerViewController를 이용하고 앨범을 누르면 새로운 ViewController를 present 하고 사진들을 collectionView로 나타내도록 하고 이미지를 이전 VC로 prepare 메서드를 이용하여 데이터를 보내는 방법을 생각 중이다.
728x90'TIL > 2021' 카테고리의 다른 글
210615 - TIL (0) 2021.06.16 210614 - TIL (0) 2021.06.14 210612 - TIL (0) 2021.06.13 210611 - TIL (0) 2021.06.11 210610 - TIL (0) 2021.06.10