在tableView中添加日期作为节标题

古古列图

我有一个tableView,其中包含按添加日期(从最新到最旧)组织的数据。我想添加一个节标题,以按日期分隔/组织这些单元格中的每一个。我已附上一张Fitbit如何具有其部分标题的图片。他们每隔一周做一次自己的部分,但我想让我的部分间隔几天。

这是我的代码,正在尝试执行,尽管添加了“ Today”之类的字符串后,该部分目前仍未显示任何内容。

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {

        if let sections = fetchedProgressResultController.sections {

            return sections.count
        }

        return 0

    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

        if let numberOfObjects = fetchedProgressResultController.sections?[section].numberOfObjects {

            return numberOfObjects

        }

        return 0

    }

//MARK: Section Headers
    override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {

        if let numberOfObjects = fetchedProgressResultController.sections?[section].indexTitle {

            return numberOfObjects

        }

        return nil

        //return "TODAY"
    }

    override func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {

        let header = view as! UITableViewHeaderFooterView
        header.textLabel?.font = UIFont(name: "SFUIText-Semibold", size: 15)
        header.textLabel?.textColor = UIColor(fromHexString: "3A3E44")

    }

这是NSFetchRequest函数,显示按日期排序。

//MARK: Progress Model Fetch Function
    func progressReportFetchRequest() -> NSFetchRequest {

        let fetchRequest = NSFetchRequest(entityName: "ProgressModel")
        let sortDescriptor = NSSortDescriptor(key: "exerciseDate", ascending: false) //From latest to Oldest
        fetchRequest.sortDescriptors = [sortDescriptor]
        return fetchRequest


    }

    func getProgressReportFetchedResultsController() -> NSFetchedResultsController {

        let fetchedProgresssResultController = NSFetchedResultsController(fetchRequest: progressReportFetchRequest(), managedObjectContext: managedProgressObjectContext, sectionNameKeyPath: nil, cacheName: nil)

        return  fetchedProgresssResultController

    }

这是我的cellForRowAtIndexPath函数,显示如何提取数据

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    //Access the different Elements daysOfWeek Array
    let progressItems = fetchedProgressResultController.objectAtIndexPath(indexPath) as! ProgressModel

    var progressReportCells : ProgressReportTableViewCell! = tableView.dequeueReusableCellWithIdentifier("ProgressReportTableViewCell") as? ProgressReportTableViewCell

    if (progressReportCells == nil) {
        tableView.registerNib(UINib(nibName: "ProgressReportTableViewCell", bundle: nil), forCellReuseIdentifier:"ProgressReportTableViewCell")
        progressReportCells = tableView.dequeueReusableCellWithIdentifier("ProgressReportTableViewCell") as? ProgressReportTableViewCell

    }

    progressReportCells.workoutTitle.text = progressItems.exerciseName

    //Subtitle
    progressReportCells.workoutDetails.text = "\(progressItems.distanceOrReps!) \(unitsDefaults.stringForKey(kCCDistanceKeyMetric)!)   |   \(progressItems.durationOrSets!) min"

    //Image
    progressReportCells.backgroundImage.image = UIImage(data: progressItems.backgroundExerciseImage!, scale: 1.0)
    progressReportCells.backgroundImage.layer.masksToBounds = true
    progressReportCells.backgroundImage.clipsToBounds = true


}

这就是我的模型的组织方式

extension ProgressModel {
    ....
    @NSManaged var backgroundExerciseImage: NSData?
    @NSManaged var distanceOrReps: String?
    @NSManaged var exerciseDate: NSDate?
    @NSManaged var exerciseName: String?
    ...
}

在此处输入图片说明

关于我该怎么做的任何想法?谢谢。

Sucharu hasija

你可以这样

 override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {

        if let numberOfObjects = fetchedProgressResultController.sections?[section].indexTitle {

    let df = NSDateFormatter()
    df.dateFormat = "yyyy-MM-DD" // Date format for exerciseDate
   let exerciseDate = df.dateFromString(numberOfObjects)
  let currentDate = NSDate()
let result = NSCalendar.currentCalendar().compareDate(currentDate, toDate: exerciseDate!,
                                                              toUnitGranularity: .Day)
        let TommorrowDate = currentDate.dateByAddingTimeInterval(60 * 60 * 24)
        let result1 = NSCalendar.currentCalendar().compareDate(TommorrowDate, toDate: exerciseDate!,
                                                               toUnitGranularity: .Day)

        if result == NSComparisonResult.OrderedSame
        {

            return "TODAY"

        }
        if result1 == NSComparisonResult.OrderedSame
        {

            return "TOMMORROW"


        }

        let df1 = NSDateFormatter()
        df1.dateFormat = "dd MMMM, yyyy"


            return df1.stringFromDate(exerciseDate!)

        }

        return nil

        //return "TODAY"
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法从tableView中的点确定节标题

来自分类Dev

如何向TableView节标题添加左页边距?

来自分类Dev

android中的TableView节标题为空白且可点击

来自分类Dev

tableView节标题消失SWIFT

来自分类Dev

如何在TableView中动态添加节中的行数?

来自分类Dev

日期作为json中的列标题

来自分类Dev

在Swift中向UITableView添加按日期分隔的节

来自分类Dev

在PHP标题标签中添加日期功能?

来自分类Dev

在TableView Swift中管理节

来自分类Dev

如何在 IGListKit 中添加类似 tableview 标题的 sectionHeader

来自分类Dev

如何根据objective-C中的标志在动态tableview节中添加单元格

来自分类Dev

tableview单元格添加说明第0节中的无效行数

来自分类Dev

将带有标题的节添加到具有可扩展行的SwiftUI列表中

来自分类Dev

在UITableView中的节索引标题之间添加填充(或增加高度)

来自分类Dev

MYSQL日期作为列标题?

来自分类Dev

查询-日期作为列标题

来自分类Dev

使用NSFetchedResultsController的自定义TableView节标题

来自分类Dev

如何在reactjs的树中添加元素作为标题

来自分类Dev

添加日期作为索引

来自分类Dev

TableView中的节和行的动态数

来自分类Dev

ChildView中的不同节标题样式

来自分类Dev

节的日期自定义节标题的标识符

来自分类Dev

为什么tableview节标题视图出现在表标题视图上方?

来自分类Dev

TableView 中的标题重复多次

来自分类Dev

如何向表视图节标题添加底部边框

来自分类Dev

为A到Z的UITableView滚动添加节索引标题

来自分类Dev

将UIButton添加到UITableView节标题

来自分类Dev

将节标题视图添加到表

来自分类Dev

如何在数字和节标题之间添加空格?

Related 相关文章

热门标签

归档