EDIT - あなたのコメントに応じて、適切に並べ替える必要がありますので、並べ替えるように更新しています。
あなたのタイムスタンプ変数はOptional
あるので、あなたはInt
にnil
、またはnil
にnil
を比較することができます。これらを安全にアンラップし、nilの場合は並べ替え順序を指定するか、またはnil-coalescing演算子を使用してnil
の値をデフォルトのIntとして扱うことができます。
オプションアンラップ:
self.ProjectsArray.sort(by: { (project, project2) -> Bool in
if let timestamp1 = project.timestamp, let timestamp2 = project2.timestamp {
return timestamp1.intValue < timestamp2.intValue
} else {
//At least one of your timestamps is nil. You have to decide how to sort here.
return true
}
})
ナシ-合体演算子:
self.ProjectsArray.sort(by: { (project, project2) -> Bool in
//Treat nil values as 0s and sort accordingly
return (project.timestamp?.intValue ?? 0) < (project2.timestamp?.intValue ?? 0)
})
問題は、あなたがOptionalsを比較しようとしているということです。変数のどれかが 'nil'であるときに変数を比較する方法を定義する必要があります。 –