繁体   English   中英

预期错误:SwiftUI 函数中非可选参数类型的三元条件 nil

[英]Error expected : Ternary conditional nil for not optional type of parameter in SwiftUI function

即使可选类型不是.gesture()修饰符真正想要的参数类型,下面的代码也可以正常工作。

someKindOfView
    .gesture(condition ? DragGesture() : nil)
 

为什么这可能?

非常感谢!!!!

因为Gesture是通用协议...

演示1

因此gesture修饰符接受符合Gesture的泛型类型

演示2

并且有这样的扩展确认Gesture Optional

演示3

所以如果

.gesture(condition ? DragGesture() : nil)

编译器将类型推断为.gesture(_ gesture: DragGesture?, ...并且一切正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM