我遇到有关此递归函数的返回类型的错误。
可选类型“节点”的值?必须解开以引用基本类型为“ Node”的成员“ returnNode”
是否猜测到返回类型是可选的?
func returnNode(searchData: String) -> Node? {
if searchData == self.nodeData {
return self
} else if searchData < self.nodeData {
if let leftchild = self.leftChild {
return leftChild.returnNode(searchData: searchData)
} else {
return nil
}
} else if searchData > self.nodeData {
if let rightChild = self.rightChild {
return rightChild.returnNode(searchData: searchData)
} else {
return nil
}
} else {
return nil
}
}