안녕하세요?
오늘은 셀 재사용, 앱 생명주기, if/guard 문 등등 많은 내용을 정리해보았서요!
그럼 렛츠고
셀 재사용과 메서드
prepareForReuse()란?
- UITableViewCell 또는 UICollectionViewCell의 재사용 직전에 호출됨
- 셀에 남아있는 이전 상태 초기화용으로 주로 사용
- ex: 이미지 초기화, 텍스트 리셋 등
if문, guard, 클로저, 옵셔널 처리
- if 분기문이 많으면 초보 개발자 티 남
- → 로직 분기 단순화하거나 함수 분리 고려
- 삼항연산자는 ()로 감싸면 가독성 좋아짐
- guard 구문에는 비즈니스 로직 넣지 않기
- → 유효성 검사만 하는 게 좋음
- guard / if는 옵셔널 바인딩 도구일 뿐, 자체가 바인딩 로직은 아님
- 클로저 안에서 self에 ? 붙이면 안전한 참조 가능
- → [weak self] → self?.doSomething() 패턴
- Enum 값 접근: .caseName으로 점 연산자 사용 가능
데이터 관련 팁
- .count - 1: 배열은 0부터 시작하기 때문에 범위 주의
- → 안 해주면 index out of range 에러로 앱 죽음
- 어떤 프로퍼티를 넣어야 할지 모를 땐 init() 호출해서 감 잡기
- → 초기화 과정에서 전체 구조 파악 가능
UI & UX 개념
Optimistic UI란?
- 요청 전 결과부터 보여주는 UI 기법
- ex: 좋아요 버튼 누르면 바로 좋아요 숫자 올라감 → 이후 서버 요청
- 신입 개발자가 놓치기 쉬운 부분 (요청 실패 시 롤백도 고려해야 함)
앱 생명주기 (ViewController 기준)
- viewDidLoad() : 최초 로딩 시 호출 (1회)
- viewWillAppear() : 뷰가 화면에 보이기 직전
- viewDidAppear() : 뷰가 완전히 나타난 후
- viewWillDisappear() : 뷰가 사라지기 직전
- viewDidDisappear() : 뷰가 완전히 사라진 후
앱 시작 관련
- Cold Start: 앱을 껐다가 완전히 새로 실행할 때
- Warm Start: 백그라운드에서 다시 켤 때
도구 관련
- GUI (그래픽 UI) ↔ CLI (커맨드 라인)
- → CLI 명령어 기초 익혀두면 디버깅, 설정 편함
- Git 기초 명령어 (clone, commit, push, pull 등)도 습득 필수
시스템/언어 개념
- override: 상속받은 메서드 재정의할 때 사용
- super.~: 부모 클래스의 원래 동작 유지하거나 추가 호출하려고 사용
- Apple 생태계의 특성→ 개발자는 외부에서만 사용 가능 (프라이빗 구조)
- → 인터페이스는 공개, 구현체는 비공개
Deprecated
- deprecated된 기능: 공식적으로 사용 지양됨→ 새 방식으로 대체해야 함
- → 경고 발생, 향후 삭제 가능성 있음
'TIL' 카테고리의 다른 글
250529 TIL | 코드로 Navigationcontroller 구현하기 (3) | 2025.05.29 |
---|---|
250523 TIL | firebase SPM과 Pod이 꼬이다... 해결방법...! (2) | 2025.05.23 |
250511 TIL | 메모리 누수, Firebase Firestore, SPM, TableViewCell 등등 (0) | 2025.05.11 |
250510 TIL | 채팅 기능 구현하며 내용 공부함 (0) | 2025.05.10 |
250507 TIL | FireStore 사용법 익히기, 딕셔너리 활용 (0) | 2025.05.07 |