Unable to infer complex closure return type with SwiftUI

后端 未结 5 1075
执念已碎
执念已碎 2020-12-17 09:35

Following part 3 of Apple\'s tutorial on SwiftUI, Handling User Input, I get this error:

Unable to infer complex closure return type; add explicit ty

5条回答
  •  有刺的猬
    2020-12-17 10:28

    Some background to this problem

    Like @dirtydanee already answered there is a difference between those two tutorials. But the problem behind the problem is that while it looks like you're doing a configuration it's actually just functions nested in functions using generics and protocols to "magically" parse everything into a compiling function.

    However conformance to these generics and protocols need to be pretty precise because if not the whole tree of functions cannot compile anymore. But it's hard to determine for the compiler what conformance actually failed. This is why you see an error at the top rather than at the point where it actually happens.

    It's strongly advised to make sure your views are decomposed into natural and simple blocks so you're not pouring over hundreds of lines of View code to find that one bug.

    Dave DeLong had a really great talk about how to compose Views from ViewControllers that still holds true until today: basically you never use View as a subview inside another View but you need to decompose your View of many, simple Views. Otherwise these errors'll drive you nuts.

提交回复
热议问题