Skip to content

Instantly share code, notes, and snippets.

View Rsych's full-sized avatar
🙈
I may be slow to respond.

J. W. Kim Rsych

🙈
I may be slow to respond.
View GitHub Profile
@Rsych
Rsych / SimpleWidget.swift
Created December 5, 2021 14:14
Basic widget templates
struct SimpleWidget: Widget {
let kind: String = "SimpleWidget"
var body: some WidgetConfiguration {
StaticConfiguration(kind: kind, provider: Provider()) { entry in
PortfolioWidgetEntryView(entry: entry)
}
.configurationDisplayName("Up next…")
.description("Your #1 top-priority item.")
.supportedFamilies([.systemSmall])
@Rsych
Rsych / SearchSpotlightIndex.swift
Created December 3, 2021 14:27
Search spotlight's index
import CoreSpotlight
import SwiftUI
struct ContentView: View {
@State private var searchText = ""
@State private var searchResults = [CSSearchableItem]()
@State private var searchQuery: CSSearchQuery?
var body: some View {
@Rsych
Rsych / Bundle-Decodable.swift
Created November 25, 2021 14:13
Ultimate JSON decoder bundle
import Foundation
extension Bundle {
func decode<T: Decodable>(_ type: T.Type, from file: String, dateDecodingStrategy: JSONDecoder.DateDecodingStrategy = .deferredToDate, keyDecodingStrategy: JSONDecoder.KeyDecodingStrategy = .useDefaultKeys) -> T {
guard let url = self.url(forResource: file, withExtension: nil) else {
fatalError("Failed to locate \(file) in bundle.")
}
guard let data = try? Data(contentsOf: url) else {
@Rsych
Rsych / searchAutocompletion.swift
Last active November 19, 2021 11:03
searchable autocompletion
NavigationView {
ResortListView(filteredResorts: filteredResorts)
.searchable(text: $searchText, placement: .navigationBarDrawer(displayMode: .always),
prompt: "Looking for a resort?") {
ForEach(searchResults) {
Text("Are you looking for \($0.name)?").searchCompletion($0.name)
}
}
@Rsych
Rsych / searchable.swift
Created November 19, 2021 10:57
searchable
import SwiftUI
struct ContentView: View {
var filteredResorts: [Resort] {
// search result
let searchList = searchResults
......
// search within resorts
@State private var searchText = ""
@Rsych
Rsych / enumListSort.swift
Last active November 19, 2021 10:53
enum switch list sort
struct ContentView: View {
enum FilterType {
case abc, country, price
}
@State private var selectedFilter:FilterType = .abc
var filteredResorts: [Resort] {
switch selectedFilter {
case .abc:
print("abc selected")
@Rsych
Rsych / UserDefaultsAccess.swift
Created November 18, 2021 07:30
UserDefaults access, check contains, add, save, remove
import SwiftUI
class Favorites: ObservableObject {
// user's favorite resorts
private var resorts: Set<String>
// UserDefaults key
private let saveKey = "Favorites"
init() {
@Rsych
Rsych / Bundle-Decodable.swift
Created November 17, 2021 05:56
Bundle decodable
//
// Bundle-Decodable.swift
import Foundation
extension Bundle {
func decode<T: Decodable>(_ file: String) -> T {
guard let url = self.url(forResource: file, withExtension: nil) else {
fatalError("Failed to locate \(file) in bundle.")
}
@Rsych
Rsych / GroupsSizeClass.swift
Created November 16, 2021 05:33
groups sizeClass container
import SwiftUI
struct UserView: View {
var body: some View {
Group {
Text("Name: Ryan")
Text("Second Third")
Text("Devices: MacBook, iPhone")
}
}
@Rsych
Rsych / GroupsContainer1.swift
Created November 16, 2021 05:23
groups conditional layout
import SwiftUI
struct UserView: View {
var body: some View {
Group {
Text("Name: Ryan")
Text("Second Third")
Text("Devices: MacBook, iPhone")
}
}