Closure를 작성할 때, 우리는 지역변수를 참조할 때마다 순환참조 문제에 부딪히게 된다. 순환 참조의 이슈는 근본적으로 strong으로 서로 동시에 참조하고 있기 때문에 ARC가 0으로 안내려 가는 것이다.
iOS 개발을 하다보면 필수적으로 알아야할 개념인 GCD(Grand Central Dispatch) 를 알아야 한다. 오늘은 동시성 프로그래밍을 위한 GCD를 알아보도록 하자.
이전에 GCD와 동기와 비동기가 무엇인지 간략하게 알아보았다. 이번에는 마지막으로 DispatchQueue의 종류를 알아보고, Serial Queue와 Concurrent Queue에 대해 알아보려고 한다.
이전에 GCD와 동기와 비동기가 무엇인지 간략하게 알아보았다. 이번에는 마지막으로 DispatchQueue의 종류를 알아보고, Serial Queue와 Concurrent Queue에 대해 알아보려고 한다.
주로 뉴스나 여러 커뮤니티 앱을 보면 내장되어 있는 것이 바로 WebView이다. WebView는 주로 특정 앱을 실행하고 하이퍼링크나 정보성 글을 클릭했을 때 보여진다.
거의 대부분의 앱에서 볼 수 있는 위와 같이 로컬 라이브러리와 연결하여 사진과 동영상을 선택할 수 있는 것이 바로 PHPickerViewController이다.
CollectionView는 여러가지로 TableView와 비슷한 점이 많다. 하지만 CollectionView의 장점은 역시 Cell의 위치와 배열을 개발자 마음대로 할 수 있다는 장점이 아닐까 싶다.
이번에는 UICollectionViewCompositionalLayout에 대해 알아보려고 한다. '아니 UICollectionViewFlowLayout이 있는데 CompositionalLayout이 또 뭐지?' 라고 생각할 수 있다.
addTarget은 UIControl 클래스 안에 있는 인스턴스 메서드이다. 주로 UIButton, UITextField와 같이 사용자가 직접 Control을 할 수 있는 객체에 접근하여 특정 이벤트가 발생할 때 마다 내가 작성한 메서드를 동작하도록 만들 수 있다.
앱을 사용하다보면 푸쉬알림을 받을 것을 동의하는 것과 동시에 이렇게 푸쉬알림을 받아본 적이 있을 것이다. 오늘 소개할 것은 애플에서 제공하고 있는 프레임워크 중에 하나인 User Notifications를 소개하려고 한다.
때는 Swift를 배운지 얼마되지 않았을 때... UIKit을 쓸 때 굉장히 자주 등장하는 CompletionHandler가 이해가 잘 되지 않았다. 물론 UIKit을 배우면서 이 메서드가 끝나갈 때 작동하는 구나~ 라고 어렴풋이 공부했던 기억이 있다.
AVFoundation은 동영상, 음악과 관련된 앱을 제작한다면 필수적으로 알아야할 프레임워크다.이번에는 AVFoundation을 적절히 이용하여영상의 특정 위치로 바로 이동할 수 있는 UISlider를 구현해보도록 하자.
기존의 UICollectionViewLayout보다 더 확장된 레이아웃 제공그림처럼 여러 섹션으로 나누어서 각 섹션끼리 관리 가능item, group, section 순으로 적용해나가면 된다.
UICollectionViewCompositionalLayout을 을 만들기 위해서는 NSCollectionLayoutDimension에 대해서 숙지하고 있어야 한다.
@escaping이란 키워드가 파라미터 타입 앞에 붙으면 함수가 끝난 이후에도 클로저를 실행할 수 있다. 그런 이 클로저는 요긴하게 쓰이는 부분은 Network 작업을 할 때 종종 사용한다.
나는 주로 코드로 UI를 구현한다. 그래서 많은 UI객체들을 갖고 있는 VC에는 코드가 굉장히 길어지는 경험을 자주 했다. 이때 필요한건 바로 MVVM...
iOS 15로 업데이트되면서 기존의 UIButton을 정의하는 방법이 늘어났다!