61204


下記チュートリアルを行っています。  
<https://developer.apple.com/tutorials/swiftui/drawing-paths-and-shapes>

ライブラリから追加した場合はinitが実行されているので意味がわかるのですが

[code]

        Path(ellipseIn: CGRect(x: 0, y: 0, width: 50, height: 100))
    
[/code]

チュートリアルにある下記の初期化の仕方がどうやっているのか意味が分かりません。  
右クリックして Jump to Definition しても Struct の定義へしか飛べず何が呼ばれているのかも確認できなくて。

[code]

        Path { path in
            var width: CGFloat = 100.0
            let height = width
            path.move(to: CGPoint(x: width * 0.95, y: height * 0.20))
            ...
        }
    
[/code]

初心者すぎる質問かもしれませんが、調べ方もわからず教えて頂けると助かります。


CC BY-SA 4.0
2019-12-07T05:51:24.997
61198
2019-12-07T07:20:36.770
36965
question
swift ios xcode
SwiftUIチュートリアル Drawing Paths and Shapes にある Path の初期化について


解決しました。下記の init ですね。  
空のオブジェクトが生成されて、そのオブジェクトに対してクロージャーが実行(inout だし &self が引数)されているであってるかな。。。  
呼び出しの記述も Trailing Closure だからかな。なかなか難しいですね。

[code]

    /// Initializes to an empty path then calls `callback` to add
    /// the initial elements.
    public init(_ callback: (inout Path) -> ())
    
[/code]


CC BY-SA 4.0
2019-12-07T07:20:36.770
61204
2019-12-07T07:20:36.770
36965
61198
answer