WidgetKit每次都不加载文本

问题描述

我的代码获取带有JSON的变量并将其显示在我的小部件中。 但这仅在某个时间有效。有时它不显示文本,并保持空白。 是什么原因?是.onAppear的问题吗?它会显示文本并同时从json加载吗?

我的观点:

struct MyTeamWidgetEntryView : View {
    
    @Observedobject var networkManager = NetworkManager()
    
    var entry: Provider.Entry

    var body: some View {
        Text(NetworkManager.test)
            .onAppear {
                self.networkManager.fetchData()
            }
        
    }
}

我的JSON处理:

class NetworkManager: ObservableObject {
    
    @Published var posts = [Post]()
    
   static var test = ""
    
    func fetchData() {
        if let url = URL(string: "https://hn.algolia.com/api/v1/search?tags=front_page") {
            let session = URLSession(configuration: .default)
            let task = session.dataTask(with: url) { (data,response,error) in
                if error == nil {
                    let decoder = JSONDecoder()
                    if let safeData = data {
                        do {
                            let decodedFile = try decoder.decode(Results.self,from: safeData)
                            dispatchQueue.main.async {
                                self.posts = decodedFile.hits
                                
                                NetworkManager.test = decodedFile.hits[0].title
                                
                            }
                        } catch {
                            print(error)
                        }
                    }
                }
            }
            task.resume()
        }
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)