Danny의 iOS 컨닝페이퍼
article thumbnail

[TIL #27] 2023 / 06 / 09

이번건 글이 짧습니다.

 

다들 forCellReuseIdentifier를 사용할 때, 어떻게 identifier를 만들어 사용하는지는 모르겠지만,

엄청 간단하게 만드는 방법이 있어서 글을 써보려 합니다.

 

저는 보통 상수들을 따로 모아두는 곳에다 cell의 identifier를 저장하거나,

cell 클래스에서 정적 메서드로 만들어주곤 했습니다.

 

이런 식으로 말이죠.

struct Constants {
    struct ID {
        static let headerID = "Header_ID"
        static let footerID = "Footer_ID"
        static let categoryHeaderID = "Category_Header_ID"
        static let categoryFooterID = "Category_Footer_ID"
    }
}

class Cell: UICollectionViewCell {    
    static let identifier = "Cell"
}

위의 방법도 명시적으로 보여서 관리 및 처리가 쉽지만,

 

이렇게 만들기도 귀찮다 할 때, 이 방법을 사용하면 좋을 것 같습니다.

 

바로, NSStringFromClass 메서드를 사용해 주는 겁니다.

NSStringFromClass는 현재 클래스의 이름을 갖고 String 타입으로 만들어주는 메서드입니다.

let identifier = NSStringFromClass(SearchCell.self)

// project.SearchCell

 

어차피 클래스 Cell같이 경우, 이름은 중복이 안되고 고유하니까

이런 식으로 바로 사용하여도 편리해 보이네요.

class SearchCell: UITableViewCell {
    ...
}

class SearchViewController: UISearchController {
    ...

    override func viewDidLoad() {
        super.viewDidLoad()
        
        tableView.register(SearchCell.self,
                           forCellReuseIdentifier: NSStringFromClass(SearchCell.self))
    }
    
    ...
}

 

 

 

반응형
profile

Danny의 iOS 컨닝페이퍼

@Danny's iOS

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!