본문 바로가기

swift32

[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.
[Swift] 옵셔널 체이닝과 nil 병합 연산자 옵셔널 체이닝 옵셔널 체이닝이란? nil일수도 있는 옵셔널 프로퍼티, 메서드, 서브스크립트 등을 가져오거나 호출하는 과정이다. 값이 있으면 접근을 허용하여 성공적으로 호출이 되고, 값이 없으면 nil을 반환한다. 호출하고 싶은 옵셔널에?를 붙여 표현하면 사용할 수 있다. 특징 옵셔널 체이닝의 마지막 표현식은 값이 옵셔널이든 아니던?를 생략한다. ex) A?.B? 는 안되고 A?. B로 표현해야 함 중첩된 옵셔널 중 1개라도 값이 존재하지 않으면(nil을 가지면) 결과적으로 nil을 반환한다. 그리고 nil을 반환한 옵셔널 뒤의 표현식들은 평가되지 않는다. ex) A?. B?. C?. D일 때 B가 값을 가지고 있지 않아 nil을 반환한다면 B뒤의 표현식인 C와 D는 평가되지 않고 B에서 평가를 멈추고 n.. 2023. 3. 31.
[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.
[Swift] 열거형 기본 - 열거형이란?, 원시값 열거형이란? 연관 항목들을 묶어서 표현할 수 있는 타입으로 정의된 값 외에 추가/수정이 불가하다. 즉 정해진 값만 속할 수 있다. 열거형을 사용할 때 제한된 선택지를 주고 싶을 때 정해진 값 외에는 입력받고 싶지 않을 때 예상된 입력 값이 한정되어 있을 때 기존 언어 열거형과 swift열거형의 차이 기존 언어 열거형 각 항목의 값이 정수 타입으로 기본 지정된다. 즉 정수 타입 값의 별칭으로 사용되었다. swift 열거형 각 항목이 그 자체로 고유의 값을 가진다. 예를 들어 다음과 같은 열거형이 존재한다고 하면 각 항목이 암시적으로 0,1,2,3.. 의 정수 값을 가지는 기존 언어와 다르게 각 항목 그대로 mon, tue,... 온전한 값을 가진다. enum Week{ case mon case tue ca.. 2023. 3. 15.