From 0dcb82716d152f6d245716b55983bfccd840d69c Mon Sep 17 00:00:00 2001 From: John Holdsworth Date: Tue, 20 Aug 2019 20:05:24 +0200 Subject: [PATCH] @Published and syntheised objectWillChange, see https://sarunw.com/posts/swiftui-changes-in-xcode-11-beta-5 --- .../Landmarks/Landmarks/Models/UserData.swift | 14 ++----------- .../SearchUserViewModel.swift | 18 +++-------------- .../Landmarks/Landmarks/Models/UserData.swift | 14 ++----------- .../Landmarks/Landmarks/Models/UserData.swift | 14 ++----------- .../Landmarks/Landmarks/Models/UserData.swift | 14 ++----------- .../Landmarks/Landmarks/Models/UserData.swift | 14 ++----------- .../WWDCPlayer/Model/UserData.swift | 20 +++---------------- .../Landmarks/Landmarks/Models/UserData.swift | 15 ++------------ 8 files changed, 18 insertions(+), 105 deletions(-) diff --git a/Other Projects/Animating Views And Transitions/Complete/Landmarks/Landmarks/Models/UserData.swift b/Other Projects/Animating Views And Transitions/Complete/Landmarks/Landmarks/Models/UserData.swift index efe0bee..afc2cca 100755 --- a/Other Projects/Animating Views And Transitions/Complete/Landmarks/Landmarks/Models/UserData.swift +++ b/Other Projects/Animating Views And Transitions/Complete/Landmarks/Landmarks/Models/UserData.swift @@ -9,17 +9,7 @@ import Combine import SwiftUI final class UserData: ObservableObject { - let objectWillChange = PassthroughSubject() - - var showFavoritesOnly = false { - didSet { - objectWillChange.send(self) - } - } + @Published var showFavoritesOnly = false - var landmarks = landmarkData { - didSet { - objectWillChange.send(self) - } - } + @Published var landmarks = landmarkData } diff --git a/Other Projects/Combine using GitHub API/SwiftUI-Combine-Example/SearchUserViewModel.swift b/Other Projects/Combine using GitHub API/SwiftUI-Combine-Example/SearchUserViewModel.swift index f1df886..aedb621 100755 --- a/Other Projects/Combine using GitHub API/SwiftUI-Combine-Example/SearchUserViewModel.swift +++ b/Other Projects/Combine using GitHub API/SwiftUI-Combine-Example/SearchUserViewModel.swift @@ -2,23 +2,11 @@ import SwiftUI import Combine final class SearchUserViewModel: ObservableObject { - var objectWillChange = PassthroughSubject() + @Published private(set) var users = [User]() - private(set) var users = [User]() { - didSet { - objectWillChange.send(self) - } - } + @Published private(set) var userImages = [User: UIImage]() - private(set) var userImages = [User: UIImage]() { - didSet { - objectWillChange.send(self) - } - } - - private var cancellable: Cancellable? { - didSet { oldValue?.cancel() } - } + @Published private var cancellable: Cancellable? func search(name: String) { guard !name.isEmpty else { diff --git a/Other Projects/Composing Complex Interfaces/Complete/Landmarks/Landmarks/Models/UserData.swift b/Other Projects/Composing Complex Interfaces/Complete/Landmarks/Landmarks/Models/UserData.swift index efe0bee..afc2cca 100755 --- a/Other Projects/Composing Complex Interfaces/Complete/Landmarks/Landmarks/Models/UserData.swift +++ b/Other Projects/Composing Complex Interfaces/Complete/Landmarks/Landmarks/Models/UserData.swift @@ -9,17 +9,7 @@ import Combine import SwiftUI final class UserData: ObservableObject { - let objectWillChange = PassthroughSubject() - - var showFavoritesOnly = false { - didSet { - objectWillChange.send(self) - } - } + @Published var showFavoritesOnly = false - var landmarks = landmarkData { - didSet { - objectWillChange.send(self) - } - } + @Published var landmarks = landmarkData } diff --git a/Other Projects/Drawing Paths And Shapes/Complete/Landmarks/Landmarks/Models/UserData.swift b/Other Projects/Drawing Paths And Shapes/Complete/Landmarks/Landmarks/Models/UserData.swift index efe0bee..afc2cca 100755 --- a/Other Projects/Drawing Paths And Shapes/Complete/Landmarks/Landmarks/Models/UserData.swift +++ b/Other Projects/Drawing Paths And Shapes/Complete/Landmarks/Landmarks/Models/UserData.swift @@ -9,17 +9,7 @@ import Combine import SwiftUI final class UserData: ObservableObject { - let objectWillChange = PassthroughSubject() - - var showFavoritesOnly = false { - didSet { - objectWillChange.send(self) - } - } + @Published var showFavoritesOnly = false - var landmarks = landmarkData { - didSet { - objectWillChange.send(self) - } - } + @Published var landmarks = landmarkData } diff --git a/Other Projects/Handling User Input/Complete/Landmarks/Landmarks/Models/UserData.swift b/Other Projects/Handling User Input/Complete/Landmarks/Landmarks/Models/UserData.swift index efe0bee..afc2cca 100755 --- a/Other Projects/Handling User Input/Complete/Landmarks/Landmarks/Models/UserData.swift +++ b/Other Projects/Handling User Input/Complete/Landmarks/Landmarks/Models/UserData.swift @@ -9,17 +9,7 @@ import Combine import SwiftUI final class UserData: ObservableObject { - let objectWillChange = PassthroughSubject() - - var showFavoritesOnly = false { - didSet { - objectWillChange.send(self) - } - } + @Published var showFavoritesOnly = false - var landmarks = landmarkData { - didSet { - objectWillChange.send(self) - } - } + @Published var landmarks = landmarkData } diff --git a/Other Projects/Interfacing With UIKit/Complete/Landmarks/Landmarks/Models/UserData.swift b/Other Projects/Interfacing With UIKit/Complete/Landmarks/Landmarks/Models/UserData.swift index efe0bee..afc2cca 100755 --- a/Other Projects/Interfacing With UIKit/Complete/Landmarks/Landmarks/Models/UserData.swift +++ b/Other Projects/Interfacing With UIKit/Complete/Landmarks/Landmarks/Models/UserData.swift @@ -9,17 +9,7 @@ import Combine import SwiftUI final class UserData: ObservableObject { - let objectWillChange = PassthroughSubject() - - var showFavoritesOnly = false { - didSet { - objectWillChange.send(self) - } - } + @Published var showFavoritesOnly = false - var landmarks = landmarkData { - didSet { - objectWillChange.send(self) - } - } + @Published var landmarks = landmarkData } diff --git a/Other Projects/WWDCPlayer/WWDCPlayer/Model/UserData.swift b/Other Projects/WWDCPlayer/WWDCPlayer/Model/UserData.swift index 5a42bdb..93ecc82 100755 --- a/Other Projects/WWDCPlayer/WWDCPlayer/Model/UserData.swift +++ b/Other Projects/WWDCPlayer/WWDCPlayer/Model/UserData.swift @@ -9,23 +9,9 @@ import SwiftUI import Combine final class UserData: ObservableObject { - let objectWillChange = PassthroughSubject() + @Published var showFavoriteOnly = false - var showFavoriteOnly = false { - didSet { - objectWillChange.send(self) - } - } + @Published var videos = videoList - var videos = videoList { - didSet { - objectWillChange.send(self) - } - } - - var currentVideo = videoList[0] { - didSet { - objectWillChange.send(self) - } - } + @Published var currentVideo = videoList[0] } diff --git a/Other Projects/Working With UIControls/Complete/Landmarks/Landmarks/Models/UserData.swift b/Other Projects/Working With UIControls/Complete/Landmarks/Landmarks/Models/UserData.swift index 2a54838..afc2cca 100755 --- a/Other Projects/Working With UIControls/Complete/Landmarks/Landmarks/Models/UserData.swift +++ b/Other Projects/Working With UIControls/Complete/Landmarks/Landmarks/Models/UserData.swift @@ -9,18 +9,7 @@ import Combine import SwiftUI final class UserData: ObservableObject { + @Published var showFavoritesOnly = false - let objectWillChange = PassthroughSubject() - - var showFavoritesOnly = false { - didSet { - objectWillChange.send(self) - } - } - - var landmarks = landmarkData { - didSet { - objectWillChange.send(self) - } - } + @Published var landmarks = landmarkData }