본문 바로가기

IOS App Programming50

[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.
[Swift] 프로퍼티 - 저장 프로퍼티, 연산 프로퍼티, 타입 프로퍼티, 프로퍼티 감시자 프로퍼티란? 클래스, 구조체, 열거형 등에 관련된 값을 의미한다. (변수나 상수, 함수 등이 어디에서 어떻게 쓰이느냐에 따라 용어가 조금씩 달라질 뿐이다.) 저장 프로퍼티 인스턴스의 변수 또는 상수를 의미한다. (값을 저장하는 가장 단순한 개념의 프로퍼티) 구조체와 클래스에서만 사용 가능하다. (열거형에서는 사용 X) var 키워드를 사용하면 변수 저장 프로퍼티, let키워드를 사용하면 상수 저장 프로퍼티이다. 이니셜 라이저 구조체와 클래스의 저장 프로퍼티는 이니셜라이저 부분에서 조금 차이가 난다. [구조체 저장 프로퍼티] 프로퍼티가 옵셔널이 아니더라도 모든 프로퍼티를 포함하는 이니셜라이즈를 자동으로 생성하여 제공한다. [클래스 저장 프로퍼티] 만약 클래스의 저장 프로퍼티가 옵셔널이 아니라면 꼭 기본값을.. 2023. 3. 29.
[Swift] 클로저 - 클로저란?, 후행 클로저, 클로저 표현 간소화 클로저란? 일정 기능을 하는 코드를 하나의 블록으로 모아놓은 것 함수는 클로저의 한 형태 -> 함수 = 이름이 있는 클로저 기본클로저 표현과 후행 클로저 표현 등 존재하며, 각 표현 내에서 가독성을 해치지 않는 선에서 표현을 생략하거나 축약할 수 있다. 기본 클로저 문법 { (매개변수 목록) -> 반환타입 in 실행 코드 } 주로 클로저는 함수의 전달인자로 많이 사용된다. 아래는 기본 클로저의 예시와 전달인자로 사용된 클로저이다. add와 substract라는 상수에 클로저를 할당하고 calculate라는 함수의 전달 인자로 method라는 클로저를 받아서 실행시켜 준다. 후행 클로저 후행 클로저는 함수나 메서드의 마지막 전달인자로 위치하는 클로저는 함수나 메서드의 소괄호를 닫은 후에 작성하는 것이다. .. 2023. 3. 20.