【发布时间】:2020-12-10 17:42:00
【问题描述】:
所以我想做的就是能够将 var / let 值返回给 SwiftUI 中的视图。
我目前可以为 JSON 数据执行此操作。但以下不会是 JSON。它只是一个传递和返回的字符串。
nowplaying.swift
let nowplaying: String
class Api {
func nowPlaying(completion: @escaping ([nowplaying]) -> ()) {
let nowplaying = "string"
DispatchQueue.main.async{
// The array is stored under station now
completion(nowplaying)
}
.resume()
}
}
podcastView.swift
import SwiftUI
struct Podcasts: View {
let post: Program
@State var nowplaying: [nowplaying] = []
var body: some View {
ZStack {
Color.blue
// Text(post.url)
Text(nowplaying)
}
.onAppear(
//RUN CODE TO Fetch podcast episodes.
Api().nowPlaying { (nowplaying) in
self.nowplaying = nowplaying
}
)
.navigationBarTitle(Text(post.title), displayMode: .inline)
.navigationBarHidden(false)
.navigationBarBackButtonHidden(false)
}
}
现在我猜测这不起作用的原因是由于这部分
completion: @escaping ([nowplaying])
不是 JSON 返回的字符串。所以问题是,如果不返回 JSON 字符串,而是返回文本字符串,我该怎么做?
还有你如何向这个函数发送数据
例如在节点中我会拥有
func nowPlaying(incomingData, completion: @escaping ([nowplaying]) -> ()) {
print(incomingData)
let nowplaying = "string"
DispatchQueue.main.async{
// The array is stored under station now
completion(nowplaying)
}
.resume()
}
}
【问题讨论】:
标签: swift