Вы должны заметить, что XCode будет жаловаться на ошибки в неправильном месте, поэтому полученная вами ошибка может не иметь ничего общего с тем, что на самом деле неправильно.
Глядя на ваш код, кажется, есть пара ошибок. Если вы не написали свои собственные компоненты для TextField
и ButtonView
(которые вы должны были включить в свой пример кода, если бы вы это сделали), то ошибка, по-видимому, с ними.
Во-первых, TextField
,в простейшем виде он принимает следующие параметры:
TextField(<title: StringProtocol>, text: Binding<String>)
, который отличается от того, что вы написали (я также не могу найти TextField
, который соответствует предоставленным вами перегрузкам). Поэтому вы должны обновить TextField
следующим образом:
TextField("Enter text", text: $text)
Во-вторых, нет компонента с именем ButtonView
, поэтому я предполагаю, что вы собираетесь использовать Button
. Это параметры:
Button(action: () -> Void, label: () -> _)
Поэтому вы должны обновить Button
на:
Button(action: {
print("Click to login")
}) {
Text(verbatim: "Login")
}
Если мы соберем все вместе (выгрузим изображение для системы с именем image какУ меня нет вашей фотографии), мы получаем следующее, которое компилируется без ошибок:
struct ContentView: View {
@State var text: String = ""
var body: some View {
VStack {
HStack(alignment: VerticalAlignment.center, spacing: 50) {
Image(systemName: "person.fill")
.resizable()
.frame(width: 100, height: 100, alignment: .center)
VStack {
Text(verbatim: "Karan Singh")
.font(.title)
.foregroundColor(.black)
.bold()
Text(verbatim: "Customer Success")
}
Divider()
TextField("Enter text", text: $text)
Button(action: {
print("Click to login")
}) {
Text(verbatim: "Login")
}
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Примечание: ContentView_Previews
должно быть за пределами вашей ContentView
структуры.