본문 바로가기

IOS App Programming/IOS 연습19

Notifiaction Center VS Delegate Pattern 두 가지 방식의 사용법보다는 차이점에 초점을 맞춰 공부를 해보았다. (사용법은 따로 올릴 예정) Delegate ? Notification? 그게 뭔데? Delegates와 Notification 방식은 독립적인 기능을 하는 객체끼리 소통을 하기 위해 사용된다. 즉 A라는 뷰컨트롤러와 B라는 뷰컨트롤러가 있을 때, A에서 B로 알림을 보내 특정 동작을 실행하고 싶을 때 사용하는 것이다. Delegate 패턴 Delegate 패턴이란? delegate = 위임 → 한 객체가 자신의 책임을 다른 객체에게 위임 시키는 디자인 패턴 지정된 객체가 해야하는 메서드들의 원형을 프로토콜 형태로 정해놓는다. 위임을 시키는 객체에서 해당 프로토콜형식의 델리게이트 프로퍼티를 가지고 있고, 프로퍼티 내부 함수를 적절한 위치.. 2024. 2. 13.
[IOS] UserDefaults란? UserDefaults란? 앱 실행 시 지속적으로 키-값 쌍을 저장하는 사용자의 기본 데이터베이스에 대한 인터페이스이다. 런타임 환경에서 동작하면서, 앱이 실행되는 동안 default database에 접근해 데이터를 기록하고 가져오는 역할을 한다. 싱글톤 패턴으로 설계되어 앱 전체에서 단 하나의 인스턴스만 존재함 데이터 저장 open func set(_ value: Any?, forKey defaultName: String) 함수를 사용한다. set함수에는 String, Double, Int 등 value 매개변수에 다양한 타입이 있지만, 데이터를 저장할 때에는 저장 가능한 타입 형식이라면 어떤 값을 입력해도 오류가 발생하지 않는다. Int, Float, Double, Bool, URL? 같은 공통 유.. 2023. 4. 12.
[IOS] 카메라, 갤러리 접근해서 사진 가져오기 - UIImagePickerController 실행 결과 버튼을 통해서 이미지를 추가하고 추가한 이미지를 화면에 띄워준다. 레이아웃 상단에 네비게이션 바를 추가해 주고, add형식의 바버튼을 추가해 준다. 화면 중앙에는 UIImageView를 추가한다. 아웃렛 변수 및 액션 함수 추가 1. 선택한 이미지 뷰를 출력해 주기 위해 이미지 뷰의 아웃렛 변수 연결한다. 2. 버튼을 통해 이미지 추가 동작을 실행할 것이므로 버튼에 액션 함수를 연결한다. Add 버튼 @IBAction func addBtnClick(_ sender:UIButton){ let alert = UIAlertController(title: "Title", message: "message", preferredStyle: .actionSheet) let library = UIAlertAc.. 2023. 4. 6.
[IOS] [AutoLayout] Safe Area와 Layout Margin Safe Area란? 말 그대로 콘텐츠를 안전하게 보여줄 수 있는 영역을 의미한다. 기본적으로 제약조건을 설정하면 safe area에 적용된다. 루트뷰에서 뷰를 하나 생성해 constraints를 모두 0으로 설정한 모습을 보면 아래와 같다. 8 플러스의 경우 콘텐츠에 방해되는 요소가 없기 때문에 화면 모두가 safe area이지만 노치와 하단바 밑 화면 곡선이 등장한 모델부터는 하단과 상단의 약간의 빈틈이 생긴 것을 볼 수 있다. Layout Margin Layout Margin 이란 view와 콘텐츠 사이의 margin을 의미한다. 인터페이스 빌더에서 우리는 constraints를 설정할 때 margin옵션을 선택할 수 있다. constrain to margin이라고 써져있는 체크박스가 마진을 포함하.. 2023. 3. 15.