【发布时间】:2021-02-14 02:20:12
【问题描述】:
我开始与 swift 结合,但遇到了一些困难(之前有在 swiftui 工作的经验)。 所以问题是如何执行某些操作:
- 可以说我有vc1。我从那里去vc2 2.然后我开始异步网络关闭并回到vc1(通过弹出vc2)。
- 现在假设当我回到 vc1 时,我只想将一个字符串从 vc2 的 asycnrhoss clousre 转到 vc1。 我怎样才能做到这一点?
我想使用
我正在使用这种方法,但它不起作用,它永远不会出现在 sink 下的代码.....
public class Parent {
public static let shared = Parent()
public var publisher = PassthroughSibject<String,Never>()
}
class vc1: ViewController {
func viewdidLoad() {
let subscription = Parent.shared.oublisehr.sink { (result) in
print(result)
}
}
func navigatetoVC1() {
///// some code to navigate to vc1
}
func button() {
self.navigatetoVC1
}
}
class vc2: ViewController {
func viewDidload() {
///
}
func performsomeOperation() {
someasyncoperation(completion: { result in
switch result {
case .success:
//send some data to vc1
Parent.shared.publisher.send("testdata")
case .failure:
//send some data to vc1
})
self.dismisVC2() //some method to pop out vc2
}
}
【问题讨论】: