2016-05-04 77 views
0

我創建了tableview單元格的tableview。我能夠列出表格視圖不同行上的內容(我列出了來自tableview行上設備的歌曲)。下面給出了這個代碼片段。Tableview內容在滾動時被重新排序Swift

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath:NSIndexPath) -> UITableViewCell { 

let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! hostTableViewCell //hostTableViewCell is the custom cell class 

    cell.backgroundColor = UIColor.clearColor() 

    print("\(songList[indexPath.section + StaticThing.timesCalled].songTitle)") 

    cell.clientCellLabel!.text = songList[indexPath.section + StaticThing.timesCalled].songTitle 

    copyOfAllSongsArray.append(songList[indexPath.section + StaticThing.timesCalled].songTitle) // Taking text of the cells in an array 

    cell.detailTextLabel!.text = "\(songList[indexPath.section + StaticThing.timesCalled].artistName)" 

    StaticThing.doSomething() 

    if (StaticThing.timesCalled == songList.count){ 

     StaticThing.timesCalled = 0 

    } 

    return cell; 

} 

第一次加載時的tableview顯示其內容。但是,每次滾動頁面時,tableview的內容都會被重新排序。每次滾動表格時,內容都會以隨機方式重新排序。如何解決這個問題?

+0

你在哪裏存儲UITableView數據源? – luiyezheng

回答

0

你的代碼沒有意義。你正在使用一些變量timesCalled來索引你的數據數組?無法保證系統獲取cellForRowAtIndexPath中的單元格的順序。您需要使用indexPath中傳遞給您的部分和行號來確定要返回哪個項目,而不是使用該方法被調用的次數。

您的cellForRowAtIndexPath的邏輯需要重做。這是完全錯誤的。

相關問題