SwiftUI-什麼是@Published? ObservableObject?

最近文章會更新的勤勞一些(應該XD

@Published 是 SwiftUI 中非常好用的wrapper,它允許我們創建”可觀察的” object,當這些object發生更改時會自動宣布通知。 SwiftUI 將自動監控此類更改,並重新調用data的任何view的 body 屬性。

無論何時更改帶有標記為 @Published 的屬性的object,都會reload使用該object的所有view以反應這些更改。

example:

class A: ObservableObject {
var items = [Int]()
}

這符合ObservableObject protocol, SwiftUI 的view可以觀察它的變化。但是因為沒有用@Published 標記,所以永遠不會發送任何更改通知。

若想要從items 中添加或刪除某些內容時發送更改公告,可以使用@Published 對其進行標記。

class A: ObservableObject {
@Published var items = [Int]()
}

因此不需要做任何事情@Published 將 willSet 觀察者添加到items,以便任何更改都會自動發送給觀察者。

--

--

LULU
彼得潘的 Swift iOS App 開發教室

Hi👋 I’m iOS developer, I hope I can grow with you guys ☺️ Let’s learn more together.