Swiftの文字列Split区切り処理にはsplitとcomponentsがある。わたしの認識したこの2つの違いは戻り値がsplitの場合は[Substring]でcomponentsは[String]ということです。componentsを使い文字列を区切った処理するSwiftUIの場合、下記のようなコードです。
struct TComponentsView: View { @State var s1: String = "" var body: some View { VStack { TextField("TextField", text: self.$s1) ForEach(s1.components(separatedBy: " "), id: \.self){ Text("\($0)") } Spacer() } } }
splitの場合下記のコードです。
struct TSplitView: View { @State var s1: String = "" var body: some View { VStack { TextField("TextField", text: self.$s1) ForEach(s1.split(separator: " "), id: \.self.description){ Text("\($0.description)") } Spacer() } } }