Skip to content

Instantly share code, notes, and snippets.

View benigumocom's full-sized avatar
🏠
🙆

chanzmao benigumocom

🏠
🙆
View GitHub Profile
@benigumocom
benigumocom / versions.txt
Last active March 3, 2025 10:26
iOS Version Market Share
2025-03-03
+------+------------+-------+-------+----------+----------+
| iOS | RELEASE | WW % | JP % | WW SUM % | JP SUM % |
+======+============+=======+=======+==========+==========+
| 16.0 | 2022-09-12 | 0.59 | 0.61 | 91.15 | 93.86 |
+------+------------+-------+-------+----------+----------+
| 16.1 | 2022-10-24 | 1.23 | 1.43 | 90.56 | 93.25 |
+------+------------+-------+-------+----------+----------+
| 16.2 | 2022-12-13 | 0.62 | 0.79 | 89.33 | 91.82 |
+------+------------+-------+-------+----------+----------+
@benigumocom
benigumocom / BackyardBirdsDataContainer.swift
Last active January 22, 2024 01:15
【 #SwiftData 】ModelContainer の View へのセット 👉 https://android.benigumo.com/20240122/modelcontainer/
import SwiftUI
import SwiftData
struct BackyardBirdsDataContainerViewModifier: ViewModifier {
let container: ModelContainer
init(inMemory: Bool) {
container = try! ModelContainer(for: DataGeneration.schema, configurations: [ModelConfiguration(isStoredInMemoryOnly: inMemory)])
}
@benigumocom
benigumocom / BackyardBirdsDataContainer.swift
Last active January 22, 2024 01:15
【 #SwiftData 】ModelContainer の View へのセット 👉 https://android.benigumo.com/20240122/modelcontainer/
import SwiftUI
import SwiftData
public extension View {
func backyardBirdsDataContainer(inMemory: Bool = true) -> some View {
modifier(DataContainerViewModifier(inMemory: inMemory))
}
}
struct DataContainerViewModifier: ViewModifier {
import SwiftUI
// 1
//struct Parent: View {
// @State private var isOn = false
//
// var body: some View {
// VStack {
// Rectangle().fill(isOn ? .yellow : .gray)
// Toggle(isOn ? "ON" : "OFF", isOn: $isOn)
@benigumocom
benigumocom / adjust_layout.swift
Last active December 29, 2023 03:35
【#SwiftUI】レイアウトの調整に View.background(Color.*) が便利だな 👉 https://android.benigumo.com/?p=30338&preview=true
struct ItemRow: View {
var body: some View {
VStack(alignment: .leading) {
Text("ベイスターズ優勝")
.font(.headline)
.background(.white) // *
Text("2023-12-28")
.font(.caption)
.foregroundStyle(.secondary)
.background(.red) // *
@benigumocom
benigumocom / State-Binding.swift
Last active December 24, 2023 07:18
【SwiftUI】@State を 子 View でどう受けるか 🤔 - @binding 👉 https://android.benigumo.com/20231224/state-binding/
import SwiftUI
import PlaygroundSupport
struct ParentView: View {
@State private var text: String = ""
var body: some View {
VStack {
TextField("Parent", text: $text)
Text(text)
struct BirdsSearchResults<Content: View>: View {
private var searchText: Binding<String>
private var content: (Bird) -> Content
@Query(sort: \Bird.creationDate) private var birds: [Bird]
init(searchText: Binding<String>, @ViewBuilder content: @escaping (Bird) -> Content) {
self.searchText = searchText
self.content = content
}
struct BirdsSearchResults<Content: View>: View {
private var searchText: String
private var content: (Bird) -> Content
@Query(sort: \Bird.creationDate) private var birds: [Bird]
init(searchText: Binding<String>, @ViewBuilder content: @escaping (Bird) -> Content) {
self.searchText = searchText.wrappedValue
self.content = content
}
@benigumocom
benigumocom / BirdsSearchResult_.swift
Last active December 20, 2023 15:41
Jetpack Compose から SwiftUI に来ましたが今の謎をどうにかしたい 😩 👉 https://android.benigumo.com/20231221/swiftui-property-wrapper/
import SwiftUI
import SwiftData
import BackyardBirdsData
struct BirdsSearchResults<Content: View>: View {
@Binding var searchText: String
var content: (Bird) -> Content
@Query(sort: \Bird.creationDate) private var birds: [Bird]
@benigumocom
benigumocom / BirdsSearchResult.swift
Last active December 20, 2023 15:41
Jetpack Compose から SwiftUI に来ましたが今の謎をどうにかしたい 😩 👉 https://android.benigumo.com/20231221/swiftui-property-wrapper/
import SwiftUI
import SwiftData
import BackyardBirdsData
struct BirdsSearchResults<Content: View>: View {
@Binding var searchText: String
@Query private var birds: [Bird]
private var content: (Bird) -> Content
init(searchText: Binding<String>, @ViewBuilder content: @escaping (Bird) -> Content) {