我可以在Swift中有一个具有可选返回类型的递归函数吗

时间:2018-11-17 00:30:08

标签: swift

我遇到有关此递归函数的返回类型的错误。

  可选类型“节点”的

值?必须解开以引用基本类型为“ 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
    }
}

0 个答案:

没有答案