Я думаю, что сначала вы должны быть в состоянии установить, заполнил ли пользователь форму.Возможно использование типа enum с разными уровнями пользователя для отображения разного контента.Так что, может быть, что-то вроде этого.
enum UserType {
case basic
case merchant
}
Затем, когда вы загружаете данные в табличное представление, просто включите UserType и загрузите правильный набор данных.Это позволит вам использовать эту реализацию в других местах вашего приложения, а также, если вам нужно будет добавить / удалить данные / представления в зависимости от типа пользователя.Таким образом, ваши меню будут выглядеть примерно так:
let basicUserMenu = ["Home", "Orders", "Change Password", "Log Out", "Become Merchant"]
let merchantUserMenu = basicUserMenu + ["My Profile", "Update Profile"]
И тогда ваша реализация табличного представления будет выглядеть примерно так, где userType - это сохраненное вами значение перечисления UserType.По умолчанию это будет .basic, но после того, как пользователь заполнит форму, она изменится на .merchant
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
switch userType {
case .basic:
return basicUserMenu.count
case .merchant:
return merchantUserMenu.count
}
}
Затем сделайте то же самое для cellForTowAtIndexPath