Как разделять на секции одна iutableview в swift 2? [закрывшая]

У меня есть одна tableview с 270 ячейками, которые идут открывать 30 PDFs.

Какие-то из них повторяют тот же PDF.

Все функционирует верно, но не я не могу создать секции для того, чтобы он оказался разделенным по алфавитному порядку. Только мне нужно, чтобы была видна секция A и Ваши элементы, секция B и Ваши элементы.

0
задан 05.06.2017, 20:10
2 ответа

Используй методы, уполномоченные, чтобы определять количество секций и ячейки из-за секции:

func numberOfSectionsInTableView(tableView: UITableView) -> Int {

    return 2

}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    switch section {
    case 0:
        return 20

    case 1:
        return 10

    default:
        return 0

    }

}

После, только ты должен использовать indexPath.row и indexPath.section чтобы отличать, в котором секция и ячейка ты находишься.

1
ответ дан 01.12.2019, 08:14

Первая вещь, которая ты должен ставить,, - если ты хочешь достать секцию из-за каждой буквы азбуки, имейте или не было у PDF, что показывать, или если ты наоборот только хочешь секцию, если ему нужно что-то показать, например с A, если у тебя есть какой-то PDF с A, если у тебя нет ни одной с B, так как у тебя не было бы секции B. Это зависит от от, как ты это захотел. Если ты хочешь показать все секции, ты мог бы создавать array со всеми буквами азбуки (если ты хочешь поместить Ñ например) и потом будешь использовать это как я основал изюм доставать секции и титул секции. Ты не показываешь нам, находятся ли данные в CoreData, в Array, или как ты считаешь осуществленной модель.

Верьте тебе в array сначала с секциями, которые у тебя хотят быть.

let secciones = ["A","B","C","D"]   //termina de rellenarlo

Ты наполняешь array буквами, которые ты хочешь, чтобы они появились в секциях. Сейчас ты должен осуществлять уполномоченные методы

func numberOfSectionsInTableView(tableView: UITableView) -> Int {

return secciones.count

}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

// aquí debes poder sacar de tu modelo los PDF que correspondan a cada letra.
//La letra la obtienes de esta forma: let letra = secciones[section]
//y sabiendo la letras tienes que poder sacar de alguna forma cuantos PDF hay con esa letra
}

Чтобы доставать титул каждой секции:

override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return secciones[section]
}

Если то, что ты хочешь, является другим выбором, он очень сходный с этой, только, что ты разрезал array со всеми буквами, он был бы заполненным с буквами, которые ты хочешь, чтобы они появились. Ты был бы должен инициализировать array в методе viewDidLoad () например, со стоимостью, которая у тебя есть в твоей модели, и все остальное было бы сходным

1
ответ дан 01.12.2019, 08:14