Assign
基本用法
示例:将 Publisher 的值赋给 UI 组件
import Combine
class ViewModel {
@Published var counter = 0
}
let viewModel = ViewModel()
// 创建一个Publisher,这里使用一个定时器作为例子
let publisher = Timer.publish(every: 1, on: .main, in: .common).autoconnect()
.map { _ in Int.random(in: 0...100) }
// 使用Assign将publisher的值赋给viewModel的counter属性
let subscription = publisher
.assign(to: \.counter, on: viewModel)
// 查看效果
DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
print("Final counter value: \(viewModel.counter)")
}Assign 初始化方法
Assign 初始化方法示例:将错误值分配给对象的属性
重要的注意事项
常见使用场景
结论
Last updated