繁体   English   中英

Swift /使用匹配条件的元素的Array.count填充UITableView

[英]Swift / Populate UITableView with Array.count of elements matching certain condition

目前,我正在通过以下方式填充UITableView:

var eventDates: [NSMutableDictionary] = []

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

      return eventDates.count
}

eventDateeventDatesvalueForKey("monthsYear")

现在我要硬编码eventDates.count仅返回带有valueForKey("monthsYear") == "September 2016"的eventDates。

换句话说,再解释一次:

eventDates.count =10。但是其中只有5个与条件valueForKey("monthsYear") == "September 2016"匹配。

如何仅获取这5个元素来填充UITableView (仅5行)。

理论上是这样的:

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

    let returnValue = 0
    for date in eventDates where date.valueForKey("monthsYear")  == "September 2016" {
           returnValue++
    }
    return returnValue
}

非常感谢您的帮助。

因此,您需要做的是一个简单的过滤器

let sepDates = eventDates.filter() { $0.valueForKey("monthYear") == "September 2016" }
return sepDates.count

一些不回答相关的东西

一项建议,尝试使用模型避免使用valueForKey,因此数组看起来像

var eventDates: [EventDate] = []

祝好运并玩得开心点 ;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM