【发布时间】:2020-10-25 21:09:14
【问题描述】:
我正在尝试学习 Youtube 上的 swift 教程。
https://www.youtube.com/watch?v=-BZdQmHV4MQ&t=471s
但是我收到了这个警告信号,我不知道如何解决它。
这是我的代码。
import SwiftUI
struct ContentView: View {
@Environment(\.managedObjectContext) var managedObjectContext
@FetchRequest(fetchRequest: ToDoItem.getAllToDoItems()) var toDoItems:FetchedResults<ToDoItem>
@State private var newTodoItem = ""
var body: some View {
NavigationView{
List{
Section(header: Text("What's next?")){
HStack{
TextField("New item", text: self.$newTodoItem)
Button(action: {
let toDoItem = ToDoItem(context: self.managedObjectContext)
toDoItem.title = self.newTodoItem
toDoItem.createdAt = Date()
do {
try self.managedObjectContext.save()
}catch{
print(error)
}
self.newTodoItem = ""
}){
Image(systemName: "plus.circle.fill")
.foregroundColor(.green)
.imageScale(.large)
}
}
}.font(.headline)
Section(header: Text("To Do's")) {
ForEach(self.toDoItems) {todoItem in
ToDoItemView(title: todoItem.title!, createdAt: "\(todoItem.createdAt!)")
}.onDelete {IndexSet in
let deleteItem = self.toDoItems[IndexSet.first!]
self.managedObjectContext.delete(deleteItem)
do{
try self.managedObjectContext.save()
}catch{
print(error)
}
}
}
}
.navigationBarTitle(Text("My List"))
.navigationBarItems(trailing: EditButton())
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
我在这部分得到了错误
ToDoItemView(title: todoItem.title!, createdAt: "\(todoItem.createdAt!)")
ToDoItemView 的代码是这样的。
import SwiftUI
struct ToDoItemView: View {
var body: some View {
Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
}
}
struct ToDoItemView_Previews: PreviewProvider {
static var previews: some View {
ToDoItemView()
}
}
它说它是“Swift 编译器错误 - 传递给不带参数的调用的参数”。
我该怎么办?
【问题讨论】:
-
显示
ToDoItemView的代码。另外,在询问 SO 时,请记住通过提供 minimal-reproducible-example 来询问 -
谢谢,第一次来这里问。
ToDoItemView就是这个。 -
我的意思是将代码添加到您的问题中,而不是在 cmets 中。
-
@Frankenstein 哦对不起,我把它添加到我的问题中了。
标签: swift