我一直無法弄清楚如何在Swift中做以下工作並尋找指針。如何使用sectionNameKeyPath將組表tableView數據(斯威夫特)
我從Core Data中提取字符串值並在UITableView中顯示它們...這是工作並顯示所有條目。我現在要「組」這些值的創建日期(也存儲在覈心數據),但我有一個很難實現這組頭......這是我有:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var sound = self.sounds[indexPath.row]
var cell = UITableViewCell()
// Convert Date to String
var formatter: NSDateFormatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd-HH-mm-ss"
let dateTimePrefix: String = formatter.stringFromDate(sound.dateSaved)
// Display the following in each rows
cell.textLabel!.text = sound.name + " Saved: " + dateTimePrefix
return cell
}
有人能指出我正確的方向如何實現'頭'?我已將Main.storyboard設置中的tableView作爲樣式「分組」。
---更新
感謝下面的反應,但不幸的是,這些例子中的OBJ-C,我拍攝的快捷。
擴大,我有以下從核心數據檢索數據並顯示所有的UITableView:
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.dataSource = self
self.tableView.delegate = self
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
var context = (UIApplication.sharedApplication().delegate as AppDelegate).managedObjectContext!
var request = NSFetchRequest(entityName: "Sound")
self.sounds = context.executeFetchRequest(request, error: nil)! as [Sound]
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.sounds.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "MyTestCell")
var sound = self.sounds[indexPath.row]
// Convert Date to String
var formatter: NSDateFormatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd @ HH:mm:ss"
let dateTimePrefix: String = formatter.stringFromDate(sound.dateSaved)
// Display the following in each rows
cell.textLabel!.text = sound.name // Sound Name
// Display the following as each subtitles
cell.detailTextLabel!.text = dateTimePrefix // Sound Duration (Currently 'date')
return cell
}
有人能指出我在正確的方向,我怎麼去「分組」分別由一個月使用sectionNameKeyPath的'月'標題,我相信?具體來說,需要修改哪一段代碼才能將列表拆分爲「部分」。
使用NSFetchedResultsController來切斷tableView,這是實現它的首選方法。 – Sandeep