2024/08/16 3

Swift AsyncStream, AsyncThrowingStream 정리

Swift AsyncStream, AsyncThrowingStream 정리  AsyncStream클로저에서 생성된 비동기 시퀀스로, 새로운 요소를 생성하기 위해 계속 호출AsyncSequence를 준수해 asynchronous iterator(비동기 이터레이터) 수동으로 구현하지 않고도 비동기 시퀀스를 간편하게 생성할 수 있음.특히,  콜백 또는 딜리게이트 기반 API를 async-await와 함께 사용할 수 있도록 적합하게 설계되었음.AsyncStream을 초기화할 때, AsyncStream.Continuation을 받는 클로저를 전달. 이 클로저 내에서 요소를 생성하고, 해당 요소를 계속해서 `yield(_:)` 메서드를 호출하여 스트림에 제공RxSwift의 Observable에서 emit하는 것과 ..

apple/iOS 2024.08.16

UITableView isSelected, isHighlighted 정리

UITableView isSelected, isHighlighted 정리 UITableView에서도 UICollectionView와 동일하게 isSelected가 존재하지만 UICollectionView와 다르게 초기에 셀이 그려질 때 처음에 세팅되고 이후에는 호출되지 않음.UICollectionView와 동작성이 다름.UICollectionView 정리 내용: https://rldd.tistory.com/627 영상을 보면 보이듯이 처음에 isSelected가 호출된 후 그 이후로는 선택해도 해당 변수의 get-set 부분이 호출되지 않음. 예제코드import UIKitimport SnapKitfinal class SmapleTableViewController: UIViewController { ..

UICollectionView isSelected 정리

UICollectionView isSelected 정리 UICollectionView에서 overrdie isSelected를 통해 상태를 변경할 수 있음사용자가 선택할 때마다 isSelected가 변경됨.주의할 점: isSelected를 override해서 사용하는 경우 버전에 따라 선택 상태가 제대로 UI에 반영되지 않을 수 있음.TableView에서는 동작성이 다름.UITableView 사용성 링크: https://rldd.tistory.com/628호출순서override isSelected (이전에 선택된 아이템)DeSelect (이전에 선택된 아이템)override isSelected (현재 선택된 아이템)didSelect (현재 선택된 아이템)예제코드import UIKitimport Swift..