Avatar
Avatar
Miwa
あれ、でも_ViewModifier_ContentはSwiftUI.Viewにconformしてるのに、bodyの定義がないですね (edited)
本題じゃないんですが Body = NeverはSwiftUIの組み込みのViewだとよく見られて (<Label>とか<Content>を持ってないViewはかなりがBody = Neverです) 例えばVStackとかがわかりやすくて VStackの正体は_VariadicViewですが BodyはNeverになっていて別で_treeを持って中身を管理してそうです @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *) @frozen public struct VStack<Content> : SwiftUI.View where Content : SwiftUI.View { @usableFromInline internal var _tree: SwiftUI._VariadicView.Tree<SwiftUI._VStackLayout, Content> @inlinable public init(alignment: SwiftUI.HorizontalAlignment = .center, spacing: CoreFoundation.CGFloat? = nil, @SwiftUI.ViewBuilder content: () -> Content) { _tree = .init( root: _VStackLayout(alignment: alignment, spacing: spacing), content: content()) } public static func _makeView(view: SwiftUI._GraphValue<SwiftUI.VStack<Content>>, inputs: SwiftUI._ViewInputs) -> SwiftUI._ViewOutputs public typealias Body = Swift.Never } こういう純粋にvar body: some Viewで表現できない事情がある時にBody = Neverになってそうです Icemanさんがいう通りSwift.NeverはViewでbodyではなんかを返してそう @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *) extension Swift.Never { public typealias Body = Swift.Never public var body: Swift.Never { get } } (edited)