[swift] IGListKit에서 다중 셀 선택 동작 설정하는 방법

IGListKit는 UICollectionView를 사용하여 복잡한 데이터 표시를 도와주는 라이브러리입니다. 다중 셀 선택 동작을 설정하는 방법에 대해 알아보겠습니다.

1. IGListAdapterDelegate 선언하기

다중 셀 선택 동작을 구현하기 위해 IGListAdapterDelegate를 사용합니다. IGListAdapterDelegate는 IGListKit 클래스를 채택한 객체와 상호 작용하기 위해 사용됩니다.

class MyViewController: UIViewController, IGListAdapterDelegate {
    // ...
}

2. 선택 가능한 셀 설정하기

선택 가능한 셀을 구현하기 위해 UICollectionViewCell을 서브 클래스로 만들고 선택 상태를 나타내는 프로퍼티를 추가합니다.

class MySelectionCell: UICollectionViewCell {
    var isSelected: Bool = false {
        didSet {
            // 선택 상태 변화에 따라 UI 업데이트
            // ...
        }
    }
    
    // ...
}

3. 선택 작업 처리하기

IGListAdapterDelegate의 didSelectItemAt 메서드를 구현하여 선택 작업을 처리합니다. 선택된 셀을 추적하기 위해 선택 상태를 나타내는 프로퍼티를 업데이트하고 셀을 다시 렌더링합니다.

func listAdapter(_ listAdapter: IGListAdapter, didSelectItemAt index: Int, view: UIView) {
    if let cell = view as? MySelectionCell {
        cell.isSelected.toggle()
        
        // 선택된 셀에 대한 추가 작업 수행
        // ...
    }
}

4. IGListAdapter에 delegate 설정하기

마지막으로, IGListAdapter에 delegate를 설정하여 이벤트를 전달받을 수 있도록 합니다. 이 작업은 IGListAdapter 객체를 생성하고 delegate를 할당하는 단계에서 수행됩니다.

let adapter = IGListAdapter(updater: IGListAdapterUpdater(), viewController: self, workingRangeSize: 0)
adapter.delegate = self

이제 IGListKit에서 다중 셀 선택 동작을 설정할 수 있습니다. 위의 단계를 따라 구현하면 사용자가 셀을 선택하는 동작에 대해 원하는 작업을 수행할 수 있습니다.

더 자세한 내용은 IGListKit 공식 문서를 참고하세요.