Swift-筛选出带有属性问题的自定义数组

时间:2019-09-26 19:36:00

标签: ios swift

我具有“答案”的自定义类。我正在尝试通过其createdTimestamp属性对它们进行排序(也是可选的)。但是有时我会因为如下所示的强制拆开而崩溃。

allAnswerItems = allAnswerItems.sorted(by: { $0.createdTimestamp! > $1.createdTimestamp! })

这就是为什么我尝试使用下面的代码块来解决这个问题。看起来不错。但我想了解,无论如何,它都能满足我的所有期望。希望不再崩溃。

第一个和第二个的返回类型会影响那里的结果吗?

越来越多:

allAnswerItems = allAnswerItems.sorted(by: {
     guard let first: String = $0.createdTimestamp else { return false }
     guard let second: String = $1.createdTimestamp else { return true }
     return first > second
})

越来越多:

allAnswerItems = allAnswerItems.sorted(by: {
     guard let first: String = $0.createdTimestamp else { return false }
     guard let second: String = $1.createdTimestamp else { return true }
     return first < second
}) 

还要检查包含内容。

if !self.allAnswerItems.contains(where: { $0.answerKey! == key }) {
     // do things.
}

它将涵盖可选配件的安全包装吗?

let isContainData = self.allAnswerItems.contains(where: {
     guard let first: String = $0.answerKey else { return false }
     return first == key
})

if !isContainData {
     // do things.                                                 
}

0 个答案:

没有答案