【发布时间】:2016-02-21 02:50:21
【问题描述】:
我有一个简单的聚会课程
class Meetup {
var title: String
var date: String
}
还有一组从 meetup.com 获取的名为 meetups 的聚会。
我想在字典中按日期组织这些聚会:[String, [Meetup]],其中字符串是日期。
这是我的实现
func buildDateMeetupDict(meetups: [Meetup]) -> [String, [Meetup]] {
var dateMeetupDict = [String: [Meetup]]()
for meetup in meetups {
for var meetupsByDay in dateMeetupDict {
if meetupsByDay.day == meetup.day {
meetupsByDay.meetupArray.append(meetup)
} else {
let newMeetupDay = [meetup.day, [meetup]]
dateMeetupDict.append(newMeetupDay)
}
}
}
return dateMeetupDict
}
它有效,但效率极低,感觉和看起来都像贫民窟。
如何有效地从数组中的对象中提取属性并基于该属性构建索引?
【问题讨论】:
-
你的字典在哪里?
[String, [Meetup]]()不是字典(我真的不知道它是什么;我很惊讶它能编译)。 -
“但效率极低” 怎么会这样?这显然是一个很好的方法。有什么问题?
-
@matt 你说得对,有一个错字。
-
不要输入。复制粘贴!
-
@matt 问题是感觉不对。我在想也许有更好的实践方法,有一些我会忘记的更相关的语言特性。 (回答第二条评论——将复制+粘贴 fno)
标签: ios swift loops dictionary data-structures