Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.5k views
in Technique[技术] by (71.8m points)

xcode - In Swift, can I find out which initializer was used to instantiate a class?

When using Swift, is there a way of using Xcode or any other tool to find out which initializer was used to instantiate a class? Let me provide this example from SwiftUI:

List {
  ForEach(names.array, id: .self) {
    name in Text(name)
  }
}

To understand the mechanics of List and build more elaborate lists, I'd want to know how this list was instantiated. The documentation shows me that List has around ten initializers, and given that I'm not an expert in the complex types involved, it's hard for me to find out which one was used.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

If you don't mind adding explicit init, Cmd-clicking on init will move you to the right header.

        List.init {
            ForEach.init(names.array, id: .self) {
            name in Text(name)
          }
        }

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...