2016-05-09 43 views
0

我有一個表格視圖,用戶也添加食譜,現在它只是根據他們添加食譜的順序排序。我希望按照配方名稱(UILabel)A-> Z來排序表格視圖。不確定哪些代碼可能有幫助,但下面是我設置的數據類和UI標籤出口在UITableViewCell中名爲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]() 

你可以使用sort通過name財產的菜譜進行分類:

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

是偉大的工作......唯一的問題是它只能當應用程序已加載。如果用戶在應用程序中並添加了新配方,它就會進入底部。是否有更新表視圖命令我可以啓動重新排序時添加一個新的配方? –

+0

另外,我在viewDidLoad中實現了上面的代碼。是對的嗎? –

+1

你可以調用'reloadData()'爲你的'UITableView'重新排序後刷新它的數據。 –