목록iOS (106)
大器晩成

CollectionView 마지막 3탄으로 동적으로 셀의 크기를 개별적으로 변경하는 방법에 대해서 알아보려고 합니다. 이번에 동적으로 셀의 크기를 변경하는 방법은 아래 영상처럼 레이블에 크기에 따른 셀의 크기를 조절해보려고 합니다. 1. 컬렉션 셀의 크기를 개별로 설정하는 방법extension ViewController: UICollectionViewDelegateFlowLayout { func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { ..
지난 포스팅 때에는 컬렉션뷰를 코드베이스로 만드는 것과 레이아웃 설정에 대해서 간단하게 말씀드렸습니다.이번 포스팅에서는 디바이스별 셀의 똑같은 형태로 보이게 하기 위해서는 어떻게 할 수 있을지에 대해서 알아보도록 하겠습니다. 1. Scroll - Horizontal 방식일 때, private func collecionViewFlowLayout() -> UICollectionViewFlowLayout { let layout = UICollectionViewFlowLayout() let deviceWidth = UIScreen.main.bounds.size.width let spacing: CGFloat = 4 let inset..
[생성자 요구사항] 클래스는 상속을 고려해야 하며, 생성자 앞에 required를 붙여야 합니다.구조체는 상속이 없기 때문에, required키워드가 따로 필요 없습니다.클래스의 final을 붙여서 상속이 없다는 것을 명시하면, required를 생략할 수 있습니다.클래스에서는 지정생성자 또는 편의생성자로 구현이 가능합니다.실제 프로젝트에서 사용하는 경우는 드뭅니다. Apple 공식문서protocol SomeProtocol { init(someParameter: Int)}class SomeClass: SomeProtocol { required init(someParameter: Int) { // initializer implementation goes here }}class..
QoS(Quality Of Service)의 약자로 DispatchQueue.global().async일 때 사용됩니다.Concurrent 방식의 비동기로 작업할 때에는 우선순위를 알 수 없기 때문에, 우선순위를 관리하기 위해서 QOS를 사용합니다.왜 다른 곳에서 사용할 수 없냐고 의문을 가지신다면 간다합니다.- 시리얼 동기 방식은 직렬 방식이기 때문에 순서를 알 수 있습니다.- 시리얼 비동기 방식은 메인 스레드가 먼저 작업이 수행되고 나서 다른 스레드가 실행되기 때문에 순서를 알 수 있습니다- 동시 동기 방식은 다른 큐에 동작들이 먼저 실행되고, 메인 스레드가 실행되기 때문에, 순서를 알 수 있습니다.- 하지만 동시 비동기 방식은 순서를 알 수 없습니다. QoS는 6가지로 구분됩니다.userIntera..