プログラミングを始める。 - struct!(構造体) SwiftUI
構造体の2回目ですが、2019年、Swift周りでは大きな変化がありました。SwiftUIの登場でstructの役割ががぜん注目されています。今まではclass中心のコードでにレイアウトが組まれていましたが、SwiftUIでは、structが中心のコードを使ってのレイアウトとなっています。
基本のコードです。Playgraoundでコードを実行します。
import SwiftUI
import PlaygroundSupport
struct ContentView: View {
var body: some View {
Text("Hello")
}
}
let content = ContentView()
PlaygroundPage.current.liveView = UIHostingController(rootView: content)
ライブビューでは、
という感じに表示されます。
struct ContentView: View {
var body: some View {
Text("Hello")
}
}
Viewを表示させるのは"var body: some View{}"の中身が表示部分となっています。SwiftUIの良いところは、Viewとその他の部分が切り離されているところにあります。以前の"ViewController"ではそのあたりがあやふやでした。
テキストは"Text("必要な文字")"で表示されます。そして縦方向にはVStack、横方向にはHStackという風な命令が用意されています。
これら構成されるSwiftUIのコードがstruct、構造体で構成されています。
サンプルコードです。
struct ContentView: View {
var body: some View {
VStack{
Text("Hello Vertical")
Text("Hello Vertical")
HStack{
Text("Hello Horizon")
Text("Hello Horizon")
}
}
}
}
とすると、
こんな感じに表示されます。
SwiftUIも新しく使えるようになり、Xcodeも大きく変わっています。
詳細は以下詳解されています。
今後はSwiftUIを中心とした開発となっていくようです。
ちなみに、SwiftUI はXcodeの他にiPadのSwift Playgroundsでも同じように動きます。この記事で書いているPlaygroundのコードと同じものをコピペしても動きます。
今はiPadでもMacでも同じように試すことができます。