반응형
이벤트 발생을 감지하는 방법
Cell 내 버튼을 처리하는 여러가지 방법들.
Delgate 패턴
Callback
Completion Handler로서 Callback Closure를 사용하는 방법.
예시) 관심상품 추가
보내는 곳
// MyCell
lazy var favoriteBtn: UIButton = {
let button = UIButton()
...
button.addTarget(self, action: #selector(self.onFavorite), for: .touchUpInside)
return button
}()
var callBack: ((_ status: Bool) -> Void)?
@objc private func onFavorite() {
self.callBack?(self.favoriteBtn.isSelected)
}
callBack 받을 때
// ViewController
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "myCell", for: indexPath) as? MyCell else {
return UICollectionViewCell()
}
...
cell.callBack = { favoriteStatus in
self.showFavoriteToast(status: favoriteStatus)
}
return cell
}
Notification
728x90
반응형
'Swift iOS 앱 개발 > Swift' 카테고리의 다른 글
[Swift Layout] FlexLayout (0) | 2022.10.04 |
---|---|
[Swift] GCD - DispatchSemaphore (0) | 2022.09.06 |
[Swift iOS] detect backspace in empty UITextField (0) | 2022.07.28 |
[Swift Layout] SnapKit 사용해보기 (0) | 2022.07.07 |
[Swift iOS] NSMutableAttributedString 문자열 부분 설정 (0) | 2022.07.04 |