mirror of
https://github.com/ivanvorobei/SwiftUI.git
synced 2026-04-23 00:58:41 +02:00
@Published and syntheised objectWillChange, see https://sarunw.com/posts/swiftui-changes-in-xcode-11-beta-5
This commit is contained in:
@@ -9,17 +9,7 @@ import Combine
|
|||||||
import SwiftUI
|
import SwiftUI
|
||||||
|
|
||||||
final class UserData: ObservableObject {
|
final class UserData: ObservableObject {
|
||||||
let objectWillChange = PassthroughSubject<UserData, Never>()
|
@Published var showFavoritesOnly = false
|
||||||
|
|
||||||
var showFavoritesOnly = false {
|
|
||||||
didSet {
|
|
||||||
objectWillChange.send(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var landmarks = landmarkData {
|
@Published var landmarks = landmarkData
|
||||||
didSet {
|
|
||||||
objectWillChange.send(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,23 +2,11 @@ import SwiftUI
|
|||||||
import Combine
|
import Combine
|
||||||
|
|
||||||
final class SearchUserViewModel: ObservableObject {
|
final class SearchUserViewModel: ObservableObject {
|
||||||
var objectWillChange = PassthroughSubject<SearchUserViewModel, Never>()
|
@Published private(set) var users = [User]()
|
||||||
|
|
||||||
private(set) var users = [User]() {
|
@Published private(set) var userImages = [User: UIImage]()
|
||||||
didSet {
|
|
||||||
objectWillChange.send(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private(set) var userImages = [User: UIImage]() {
|
@Published private var cancellable: Cancellable?
|
||||||
didSet {
|
|
||||||
objectWillChange.send(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private var cancellable: Cancellable? {
|
|
||||||
didSet { oldValue?.cancel() }
|
|
||||||
}
|
|
||||||
|
|
||||||
func search(name: String) {
|
func search(name: String) {
|
||||||
guard !name.isEmpty else {
|
guard !name.isEmpty else {
|
||||||
|
|||||||
@@ -9,17 +9,7 @@ import Combine
|
|||||||
import SwiftUI
|
import SwiftUI
|
||||||
|
|
||||||
final class UserData: ObservableObject {
|
final class UserData: ObservableObject {
|
||||||
let objectWillChange = PassthroughSubject<UserData, Never>()
|
@Published var showFavoritesOnly = false
|
||||||
|
|
||||||
var showFavoritesOnly = false {
|
|
||||||
didSet {
|
|
||||||
objectWillChange.send(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var landmarks = landmarkData {
|
@Published var landmarks = landmarkData
|
||||||
didSet {
|
|
||||||
objectWillChange.send(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,17 +9,7 @@ import Combine
|
|||||||
import SwiftUI
|
import SwiftUI
|
||||||
|
|
||||||
final class UserData: ObservableObject {
|
final class UserData: ObservableObject {
|
||||||
let objectWillChange = PassthroughSubject<UserData, Never>()
|
@Published var showFavoritesOnly = false
|
||||||
|
|
||||||
var showFavoritesOnly = false {
|
|
||||||
didSet {
|
|
||||||
objectWillChange.send(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var landmarks = landmarkData {
|
@Published var landmarks = landmarkData
|
||||||
didSet {
|
|
||||||
objectWillChange.send(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,17 +9,7 @@ import Combine
|
|||||||
import SwiftUI
|
import SwiftUI
|
||||||
|
|
||||||
final class UserData: ObservableObject {
|
final class UserData: ObservableObject {
|
||||||
let objectWillChange = PassthroughSubject<UserData, Never>()
|
@Published var showFavoritesOnly = false
|
||||||
|
|
||||||
var showFavoritesOnly = false {
|
|
||||||
didSet {
|
|
||||||
objectWillChange.send(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var landmarks = landmarkData {
|
@Published var landmarks = landmarkData
|
||||||
didSet {
|
|
||||||
objectWillChange.send(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,17 +9,7 @@ import Combine
|
|||||||
import SwiftUI
|
import SwiftUI
|
||||||
|
|
||||||
final class UserData: ObservableObject {
|
final class UserData: ObservableObject {
|
||||||
let objectWillChange = PassthroughSubject<UserData, Never>()
|
@Published var showFavoritesOnly = false
|
||||||
|
|
||||||
var showFavoritesOnly = false {
|
|
||||||
didSet {
|
|
||||||
objectWillChange.send(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var landmarks = landmarkData {
|
@Published var landmarks = landmarkData
|
||||||
didSet {
|
|
||||||
objectWillChange.send(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,23 +9,9 @@ import SwiftUI
|
|||||||
import Combine
|
import Combine
|
||||||
|
|
||||||
final class UserData: ObservableObject {
|
final class UserData: ObservableObject {
|
||||||
let objectWillChange = PassthroughSubject<UserData, Never>()
|
@Published var showFavoriteOnly = false
|
||||||
|
|
||||||
var showFavoriteOnly = false {
|
@Published var videos = videoList
|
||||||
didSet {
|
|
||||||
objectWillChange.send(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var videos = videoList {
|
@Published var currentVideo = videoList[0]
|
||||||
didSet {
|
|
||||||
objectWillChange.send(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var currentVideo = videoList[0] {
|
|
||||||
didSet {
|
|
||||||
objectWillChange.send(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,18 +9,7 @@ import Combine
|
|||||||
import SwiftUI
|
import SwiftUI
|
||||||
|
|
||||||
final class UserData: ObservableObject {
|
final class UserData: ObservableObject {
|
||||||
|
@Published var showFavoritesOnly = false
|
||||||
|
|
||||||
let objectWillChange = PassthroughSubject<UserData, Never>()
|
@Published var landmarks = landmarkData
|
||||||
|
|
||||||
var showFavoritesOnly = false {
|
|
||||||
didSet {
|
|
||||||
objectWillChange.send(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var landmarks = landmarkData {
|
|
||||||
didSet {
|
|
||||||
objectWillChange.send(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user