普通はResultsをArrayに変換する必要はありません。ResultsはArrayと同じように使えるのでResultsをそのまま使う方が、パフォーマンスもよく、自動更新といった機能も活用できるというメリットがあります。
もちろん理由があるならArrayに変換して使うのは問題ありません。
ArrayとResultsの使い方はほぼ同じなのでResultsを使った例を示します。
例えばテーブルビューにResultsのデータを表示するには一般的には下記のようにします。
Resultsをメンバ変数として保持し、viewDidLoadのタイミングで取得します。
テーブルビューのデータソースをobjects.count
やobjects[indexPath.row].title
などResultsを用いて値を取得し返したり、セルに設定したりします。
class ViewController: UITableViewController {
lazy var realm = try! Realm()
var objects: Results<Data>!
override func viewDidLoad() {
super.viewDidLoad()
objects = realm.objects(Data.self).sorted("order")
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return objects.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
let object = objects[indexPath.row]
cell.textLabel.text = object.title
...
return cell
}
...
普通はだいたいこんな感じです。
具体的にどういうことがしたくて、何に困っているのかを詳しく書いていただけると、もう少し具体的なアドバイスができると思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/08/04 19:14