2016-12-28 10 views
0

私はSwiftで新しいです。 UITableViewのサンプルコードでは、新しい項目がリストの一番下に配置されていることが示されています。どのようにこれを逆にすることができますか?私はインターネットを検索しましたが、答えを見つけることができませんでした。Swift UITableView - リストの一番下に新しいアイテムを置く方法?

ありがとうございました。 グベン

+5

配列に最後のインデックスを追加します。テーブルビュー –

+0

トップまたはボトムをリロードしますか? @VineeshTP –

答えて

3

UITableviewsは、典型的

var data = ["B","C","D","E"] 

ような文字の配列として配列の順序に基づいてデータを表示し、あなたは、アレイの末尾にデータを付加する付加用いてアレイにデータを追加しますなぜそれがリストの一番下に追加されるのでしょうか?

data.append("A") 

テーブルビューにリストの先頭にデータを追加する場合は、このように配列の先頭にデータを追加できます。

data.insert("A", at: 0) 

は今、あなたのtableViewをリロードし、新しいデータが

yourTableViewName.reloadData() 
+0

ありがとう、それは動作します –

+0

投票uppp .....! –

2

が上に新しいアイテムを配置するには、リストの一番上に追加される、目的の位置(インデックス0)でそれを挿入し、対応するリロードindexPath(行:0、セクション:0)

let indexPathOfFirstRow = NSIndexPath.init(forRow: 0, inSection: 0) 

tableView.beginUpdates() 
yourArray.insert("some element", atIndex: 0) 
tableView.insertRowsAtIndexPaths([indexPathOfFirstRow], withRowAnimation: .Automatic) 
tableView.endUpdates() 

テーブル全体を再ロードするのはコストがかかる作業ですが、お勧めしません。

+0

なぜ 'beginUpdates'と' endUpdates'を使用しますか?単に 'inserRowAtIndexPaths'を使うだけでうまくいくでしょうか? – Rikh

+0

それは良い習慣です! –

0

項目を最後のインデックスに追加します。 次に、テーブルビューをリロードする

関連する問題