2016-05-09 6 views
0

私はユーザーがレシピを追加するテーブルビューを持っており、今はレシピを追加する順序に基づいて並べ替えるだけです。私は、レシピ名(UILabel)A - > Zでテーブルビューをソートしたいと思っています。どのコードが役に立つかもしれないが、私が設定したデータクラスとUITableViewCellのUIラベルコンセントの名前はrecipeNameLabelです。テーブルを並べ替えるUiで表示ラベル名

class Recipe: NSObject, NSCoding { 

    var name: String 
    var servings: String 
    var category: String 
    var prepTime: String 
    var cookTime: String 
    var source: String 
    var sourceURL: String 
    var photo: UIImage? 
} 

私は、データモデルを取得するためのUITableViewでこれを呼ばれる:

var recipes2 = Recipe() 

答えて

1

あなたはあなたのデータソースとして使用している配列をソートする必要があります。 あなたがRecipeの配列を持っていると仮定すると:

var recipes = [Recipe]() 

あなたは自分のnameプロパティでレシピをソートするsortを使用することができます。

recipes = recipes.sort({ current, next in 
    return current.name < next.name 
}) 
+0

素晴らしい働いたこと...唯一の問題はそれだけで動作しますアプリが読み込まれます。ユーザーがアプリ内にいて、新しいレシピを追加した場合、そのレシピは一番下に移動します。新しいレシピが追加されたときに再ソートを開始できますか? –

+0

また、上記のコードをviewDidLoadに実装しました。そうですか? –

+1

'UITableView'で' reloadData() 'を呼び出して、再ソート後にデータを更新することができます。 –

関連する問題