tableView.separatorStyle = .none
프로젝트를 진행하면서 실제 경험담인데, viewController에 모든 UI를 때려넣었을 때 전역 변수로 UITableViewCell 프로퍼티를 선언과 동시에 초기화를 진행할 때 separatorStyle을 지정하면 반영되지 않는 것을 확인할 수 있었음. 그 당시에는 dataSource와 delegate를 viewDidLoad에서 설정을 해줘야 했기 때문에 전역 변수로 프로퍼티를 선언만 해주고 viewDidLoad에서 초기화를 진행했었다.
지금은 View 파일과 ViewController를 분리하고 View에서 모든 UI를 구현하기 때문에 프로퍼티를 선언과 동시에 초기화를 진행한 것이었는데 결론적으로는 separatorStyle가 viewDidLoad에서 초기화되지 않아 발생하는 문제였던 것이었다.
func settingCustomTableView(_ viewController: UIViewController){
self.dataSource = viewController as! UITableViewDataSource
self.delegate = viewController as! UITableViewDelegate
self.separatorStyle = .none
}
class SettingView: UIView {
let tableView = UITableView().then{
$0.showsVerticalScrollIndicator = false
$0.isScrollEnabled = false
$0.register(AlarmSettingTableViewCell.self, forCellReuseIdentifier: AlarmSettingTableViewCell.cellIdentifier)
$0.register(DefaultSettingTableViewCell.self, forCellReuseIdentifier: DefaultSettingTableViewCell.cellIdentifier)
$0.register(SettingTitleTableViewCell.self, forCellReuseIdentifier: SettingTitleTableViewCell.cellIdentifier)
$0.register(SettingBorderLineTableViewCell.self, forCellReuseIdentifier: SettingBorderLineTableViewCell.cellIdentifier)
}
...
}
mainView.tableView.settingCustomTableView(self)