반응형
iOS 개발자를 위한 토막 상식 두 번째.
1. guard문은 if let보다 깔끔한 탈출문이다.
- 옵셔널 바인딩 시 guard는 실패 조건에 초점을 맞춰 조기 탈출할 수 있도록 한다.
- 코드 흐름을 납작하게(flat하게) 만들어 가독성을 높힌다.
func login(user: User?) {
guard let user = user else {
print("유저 정보 없음")
return
}
print("환영합니다, \(user.name)")
}
2. weak self는 언제나 필요한 건 아니다.
클로저 안에서 self를 캡처할 때 retain cycle이 생기면 앱이 메모리를 놓지 않음
하지만 self가 살아 있어야 하는 작업이라면 unowned self도 가능
팁: 단순한 비동기 처리에서 DispatchQueue.main.async → self 사용 시 retain cycle 발생 가능
3. LaunchScreen.storyboard는 커스터마이징 최소화
- 애플 가이드: 앱 첫 화면과 비슷한 스타일로 정적 UI만 구성
- 애니메이션이나 동적 요소 금지
- 사용자의 로딩 스트레스를 줄이기 위한 착각 효과용 뷰임
4. SF Symbols는 가볍고 일관된 아이콘의 친구
- iOS 13+부터 사용 가능
- Image(systemName: "star.fill")처럼 간단히 적용 가능
- ⚠️ 단, 시스템 버전에 따라 지원 여부가 다르니 하위 호환성 주의
5. ViewDidLoad vs ViewWillAppear 차이점은?
- viewDidLoad: 뷰가 메모리에 올라올 때 1회 실행
- viewWillAppear: 화면이 등장할 때마다 호출
- 실전 팁: 네트워크 요청이나 UI 초기화는 viewWillAppear에서 주로 수행
반응형
'개발 토막 상식' 카테고리의 다른 글
iOS 개발자를 위한 토막 상식 6 (0) | 2025.05.18 |
---|---|
iOS 개발자를 위한 토막 상식 5 (0) | 2025.04.22 |
iOS 개발자를 위한 토막 상식 4 (0) | 2025.04.22 |
iOS 개발자를 위한 토막 상식 3 (0) | 2025.04.16 |
iOS 개발자를 위한 토막상식 1 (0) | 2025.04.14 |