【问题标题】:How to run a function inside a body of SWIFT UI?如何在 SWIFTUI 主体中运行函数?
【发布时间】:2020-09-18 04:45:41
【问题描述】:

我正在尝试在体内运行一个函数。我不熟悉函数在 swiftUI 中的工作方式。 这是下面的代码。

struct HomeView: View {        
    
    func getDirectory() -> String{
        let fm = FileManager.default
        let path = Bundle.main.resourcePath!

        do {
            let items = try fm.contentsOfDirectory(atPath: path)

            for item in items {
                print("Found \(item)")
            }
        } catch {
            // failed to read directory – bad permissions, perhaps?
        }
        
        return path
    }
    
    
    let documentURL = Bundle.main.url(forResource: resourceURL, withExtension: "pdf")!
    
    var body: some View {
        let path = getDirectory()         
        
        print(path)
    }

}

我收到一条错误消息。

''函数声明了一个不透明的返回类型,但它的主体中没有返回语句来推断底层类型''

我怎样才能做到这一点?

【问题讨论】:

  • 您不应该这样做,因为每次视图刷新都会调用body 来呈现内容。而是在任何动作闭包中执行此操作,例如 .onAppear

标签: ios swift swiftui


【解决方案1】:

我不知道你想从这个文档中得到什么,但要直接回答你的问题,你需要在正文中提供一个视图,而不是一个字符串。您可以添加一个接受字符串参数的文本:

var body: some View {
    Text(getDirectory())
}

【讨论】:

    猜你喜欢
    • 2017-11-27
    • 2020-09-19
    • 1970-01-01
    • 2022-11-25
    • 2020-05-18
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多