2017-01-24 14 views
0

Итак, я создал табличный вид с двумя пользовательскими ячейками.Несколько пользовательских ячеек TableView

Я пытаюсь ввести данные в 3-я ячейка, но им возникает проблема при возвращении количества ячеек &, также чтобы мой массив заголовков начинался с моей 3-й ячейки.

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return 3 
} 

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

    var row = indexPath.row 

    if(row == sliderIndex){ 

     var cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! Row 

     return cell 

    }else if (row == instagramIndex) { 

     var cell2 = tableView.dequeueReusableCell(withIdentifier: "instgramCell", for: indexPath) as! Insta 

     return cell2 

    } else { 

     var cell3 = tableView.dequeueReusableCell(withIdentifier: "blogCell", for: indexPath) as! blogCell 

     if (row == 3) { 

      cell3.blogTitle.text = titleArray[0] 

     }      
     return cell3 
    } 
+0

Я думаю, что 'sliderIndex = 0' и' instagramIndex = 1'? Затем 'numberOfRows' равно' titleArray.count + 2' и в вашем случае 'else', просто сделайте' cell3.blogTitle.text = titleArray [row-3] 'или что-то в этом роде (может быть ошибка + 1 или -1. – Larme

ответ

0

В последнем случае строка невозможно равным 3. Измените его на 2.

Вы возвращаетесь 3 в func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int). Поэтому значение строки только будет [0, 1, 2]

И в соответствии с вашим кодом, вы можете сделать ошибку, что набор sliderIndex 1 и установить instagramIndex до 2. Они должны быть 0 и 1.