您好我是Swift的新手,我試圖實現一個Graph結構。我定義了Node和Edge結構,現在我試圖檢查圖中是否存在特定的邊。類及相關函數是這樣的:Swift數組自定義對象包含:需要插入'其中:'
class Graph<T: Equatable> {
private var storedNodes = [Node]()
private var storedEdges = [Edge]()
func containsSimpleGraphEdge(targetEdge: Edge) -> Bool {
let simpleGraphEdges = self.storedEdges.map({edge in (edge.source, edge.dest)})
let targetSimpleGraphEdge = (targetEdge.source, targetEdge.dest)
return simpleGraphEdges.contains(targetSimpleGraphEdge)
}
但Xcode的抱怨,我應該插入「其中:」在最後陳述中包含。我可以知道這是爲什麼嗎?我的目的只是檢查圖形中是否存在邊緣。映射到元組是因爲在Edge實現中還有其他屬性;這裏只需要檢查源節點和目標節點。
什麼是'targetSimpleEdge'? – Hamish
一般解釋:你是否想將'targetSimpleGraphEdge'傳遞給'contains'函數? – Keiwan
你應該讓你的'Edge'符合'Equatable',這樣你就可以擺脫所有這些元組絨毛 – Alexander