首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“Font”不能转换为“Font?”Swift UI

“Font”不能转换为“Font?”Swift UI
EN

Stack Overflow用户
提问于 2020-01-03 11:36:36
回答 2查看 84关注 0票数 1

显然,我遇到了这样的错误:‘字体不能转换为’字体?‘在代码中。有什么建议吗?谢谢!下面是代码。我不确定到底是什么导致了这个问题。在此之前,一切似乎都很好。

代码语言:javascript
复制
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!)")

                    }
                }
            }

            .navigationBarTitle(Text("My List"))
            .navigationBarItems(trailing: EditButton())
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
EN

回答 2

Stack Overflow用户

发布于 2020-01-03 13:48:35

要使其可编译,您需要在此处显式指定类型

代码语言:javascript
复制
}.font(Font.headline)

还有这里

代码语言:javascript
复制
.foregroundColor(Color.green)
票数 0
EN

Stack Overflow用户

发布于 2020-01-03 15:44:56

问题出在Button操作内部:

代码语言:javascript
复制
toDoItem.Title = self.newTodoItem

Title更改为title

通常,当您在SwiftUI中收到奇怪的错误消息时,只需尝试注释掉行,直到错误消失。这将帮助您找到有问题的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59572889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档