我有一個簡單函數,返回的元組正在初始化兩個元組的陣列失敗
func findNodeNeighbors(node: Node) -> [(node: Node, distance: Double)] {
var neighbors = [(node: Node, distance: Double)]()
var nodeLinks = linksWith(node)
for link in nodeLinks {
neighbors.append((node: link.otherNodeLinkedWith(node), distance: link.length))
}
return neighbors
}
的陣列但是這原來是在功能體的第一行的錯誤Invalid use of() to call a clue of non-function type
。
如果相反,我明確聲明neighbors
的類型,一切都很好。
var neighbors: [(node: Node, distance: Double)] = []
怎麼來的?
我讀過,它是首選聲明數組通過初始化他們,並允許隱式類型推斷。
是否'追加((...,...))'爲你工作?它不適合我,Apple會將它列爲已知的錯誤。 –
據我所知,'append()'在這個實例中起作用。我檢查了數組的內容,它有我放在那裏的成員。 @StevenVanImpe –