我试图在result方法中返回常量test2,但编译器抛出错误。为什么?

public enum TestResult<Value> {
    case success(Value)
    case failure(Error)
}

struct TestModel {
}

class Test {
    func test1() -> TestResult<Any> {
        let obj = TestModel()
        return TestResult.success(obj)
    }

    func test2() -> TestResult<Any> {
        let obj = TestModel()
        let result = TestResult.success(obj)
        return result
    }
}

最佳答案

您需要将TestModel转换为Any

func test2() -> TestResult<Any> {
    let obj: Any = TestModel()
    let result = TestResult.success(obj)
    return result
}

关于swift - 为什么不能转换类型的返回表达式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54732802/

10-12 14:35