본문 바로가기

개발/iOS30

[Swift] ARC, Retain Cycle, weak, unowned 들어가며 셀 안의 버튼을 클릭했을 때 클로저로 처리하고 싶어 방법을 찾아보던 중 발견한 코드들에 [unowned self] 키워드가 붙은 것을 보았고, 비슷한 키워드인 [weak self]도 생각나 궁금해져 공부해보고 정리하게 되었습니다 ... ARC란 무엇인가? Automatic Reference Counting의 줄임말입니다. 직역하자면 자동 + 참조 + 카운팅 자세한 정의는 이렇습니다. Automatic Reference Counting — The Swift Programming Language (Swift 5.6) Automatic Reference Counting Swift uses Automatic Reference Counting (ARC) to track and manage your app.. 2022. 2. 22.
[iOS] CollectionView의 extension으로 EmptyView 만들기 프로젝트를 진행하며 데이터가 존재하지 않을 때 사용자에게 알려주기 위한 화면을 만들 일이 생겼는데, 이럴 때 사용하는 엠티뷰라는 방법을 새롭게 알게 되어 정리 & 공유하고자 글을 쓰게 되었습니다 ! 엠티뷰란 무엇인가? 셀에 데이터가 없을 경우 알려주기 위해 표시하는 화면입니다. 빈 화면을 사용자에게 그대로 노출시키기 보다는, 설명 라벨이나 이미지•버튼 등을 화면에 넣어 사용자에게 특정한 액션을 유도하도록 하기 위한 화면입니다. 아이디어 컬렉션 뷰와 테이블 뷰는 같은 형태의 데이터를 안에 들어가는 내용만 바꾸어 표시하기 위한 큰 틀인데요, dataSource 부분에서 셀의 개수를 지정해주고, delegate 부분에서 셀을 어떻게 보여줄 것인지에 대해 결정하죠? 들어갈 데이터의 수에 따라 셀의 개수가 결정되.. 2022. 2. 19.
[iOS] loadView() 오류: Could not load NIB in bundle '~ (loaded)' with name '~ViewController' 1. 상황 설명 ✔️ xib 방식으로 구현되어 있던 UI를 Code-based 방식으로 바꿔주는 과정에서 ViewController.xib 파일을 삭제했고, UIView 파일을 새로 만들어 재구현한 다음 기존의 ViewController.swift 파일에서 loadView() 함수를 오버라이딩해서 넣어주었다. import UIKit final class NoticeViewController: BaseViewController { // MARK: - Properties private let emptyView = EmptyView() // MARK: - View Life Cycle override func viewDidLoad() { super.viewDidLoad() } override func viewW.. 2022. 2. 17.