23.08.29 화
·
iOS/🌱 SeSAC
💡 addObserver 중복 ) addObserver는 한 번만 등록되도록 배치해야 한다. viewWillAppear에 등록한다면 Observer 호출 횟수가 계속해서 증가한다. 중복 노티 방지를 체크해야 함! ✅ removeObserver ✅ Notification Extension 💡datePicker ✅ dataPickerView 코드 베이스 구성하기 💡Protocol Delegate 값 전달 protocol 구현 2. delegate 3. 전달할 값 매개변수로 넣기 4. 전달 받은 값 5. 화면 전환 시 값 전달 ✅ DateFormat Extension 💡 Access Control ✔️ open > public > internal > fileprivate > private 코드에 대한 접근을 ..
23.08.28 월
·
iOS/🌱 SeSAC
💡 레이아웃 코드 분리하기 BaseViewController BaseViewController를 생성하여 VC에 공통적으로 사용하는 설정 요소들을 작성하고 뷰 컨트롤러들이 상속 받는 형식으로 구성 뷰 객체에 대한 UI나 레이아웃, 토스트 메세지, 얼럿, 임포트 등 뷰컨에서 공통적으로 작성되는 코드를 구조화 함으로써 가독성도 높이고 코드 중복도 줄일 수 있다. ✅ view controller의 레이아웃 코드 분리하기 BaseView를 상속받는 AddView → AddViewController의 루트 뷰로 설정할 것 자기 자신에게 적용하는 것이기 때문에 view는 지워도 된다. AddView 클래스 인스턴스를 생성 mainView를 루트 뷰로 교체를 해줘야 한다. 💡 RootView - loadView() ..
23.08.25 금
·
iOS/🌱 SeSAC
tableview register 등등 클로저 구문에 imageview frame 지정 시점 💡 CustomTableViewCell 구현하기 ✔️ UITableViewCell 생성 → 인터페이스 빌더 상에서 셀을 구현할 때 작동한다. ✔️ view.addSubView / contentView.addSubView view.addSubView → uiViewController의 변경할 수 없는 기본 view 위에 얹는 것 tableViewCell은 Content View위에 다른 뷰들이 올라가는 것이다. ⇒ 때문에 addSubView를 할 때 view가 아닌 contentView 위에 올려야 한다! contentView가 아닌 tableViewCell위에 올리는 것은 오류가 발생하지는 않지만 레이아웃 적용이..
23.08.24 목
·
iOS/🌱 SeSAC
💡 카메라 권한: 촬영, 갤러리, 마이크 ImagePickerControlller → deprecated 예정 ⇒ PHPicker 🔎 갤러리에 접근하기 인스턴스 가져오기 let picker = UIImagePickerController() photoLibrary, savedPhotosAlbum → will be deprecated camera는 아직 사용 가능 available - 갤러리에 접근할 수 있는지 권한 단독으로 사진만 가져오고 싶다 → 권한 안물어봐도 됨 민감한 데이터 혹은 정보 사용 등 경우 권한 물어봐야 함 ⇒ 갤러리를 가지고 오는 권한과 갤러리 내 데이터 사용하는 권한은 다름! UIImagePickerController는 navigationController를 상속받아 사용한다. ✅ 사진..