Skip to content

Instantly share code, notes, and snippets.

View NewFieldForMe's full-sized avatar

RyoYamada NewFieldForMe

View GitHub Profile
import SwiftUI
import Combine
struct ContentView: View {
@ObservedObject var vm = ContentViewModel()
var body: some View {
List {
Section(header: Text("Check False")) {
ForEach(vm.items.filter { $0.check == false }) { item in
@NewFieldForMe
NewFieldForMe / swiftui_sidemenu.swift
Created September 8, 2020 09:53
SwiftUI side menu
import SwiftUI
struct ContentView: View {
@State var isOpenSideMenu: Bool = false
@State var text = "Hello, World!"
var body: some View {
ZStack{
NavigationView {
Text(text)
.navigationBarTitle("メイン画面")
@NewFieldForMe
NewFieldForMe / swiftui_sink_and_transform.swift
Created August 27, 2020 08:37
Combine: sink and transform
class TodoListSideMenuViewModel: ObservableObject {
@Published var darkModeModel = DarkModeModel()
@Published var darkModeSystemName: String = ""
private var bag = Set<AnyCancellable>()
init() {
self.darkModeModel.$isDark.sink(receiveValue: { [weak self] isDark in
self?.darkModeSystemName = isDark ? "moon.fill" : "sun.max.fill"
}).store(in: &bag)
}
import SwiftUI
import Combine
class KeyboardService: ObservableObject {
@Published var keyboardHeight: CGFloat = 0.0
let defaultNotification = NotificationCenter.default
func start() {
defaultNotification.addObserver(
self,