View reimplemented_parts_of_swiftui.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import CoreGraphics | |
final class TransactionStack { | |
static let shared = TransactionStack() | |
private var _transactions: [Transaction] | |
private init() { | |
dispatchPrecondition(condition: .onQueue(.main)) | |
_transactions = [] |
View endian-conversion-cheat-sheet.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func _convertToBytes<T>(_ value: T, withCapacity capacity: Int) -> [UInt8] { | |
var mutableValue = value | |
return withUnsafePointer(to: &mutableValue) { | |
return $0.withMemoryRebound(to: UInt8.self, capacity: capacity) { | |
return Array(UnsafeBufferPointer(start: $0, count: capacity)) | |
} | |
} |
View UnconstrainedEnvironmentObject.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import SwiftUI | |
extension EnvironmentValues { | |
struct UnconstrainedObjectKey<Object>: | |
EnvironmentKey | |
where | |
Object: AnyObject | |
{ | |
static var defaultValue: Object? { | |
nil |
View swiftui_helper_property_wrapper.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Combine | |
import SwiftUI | |
@available(iOS 13.0, OSX 10.15, tvOS 13.0, watchOS 6.0, *) | |
@propertyWrapper | |
public struct Model<Value>: DynamicProperty { | |
final class _Box: ObservableObject { | |
let objectWillChange = ObservableObjectPublisher() | |
var value: Value { |
View CustomStateObject.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import SwiftUI | |
import Combine | |
/// The idea is to use State to create a storage object which will be | |
/// cached and restored by the framework. Then during the update phase we | |
/// re-inject the object into a nested ObservableObject and subscribe to the | |
/// ObjectType’s objectWillChange to forward to the _MessageForwarder’s | |
/// objectWillChange which is already subscribed by the framework as it’s an | |
/// inner dynamic property of our custom PW which is also a dynamic property. | |
@propertyWrapper |
View small_but_shiny.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public protocol MapKey { | |
associatedtype Value | |
static var defaultValue: Value { get } | |
} | |
public struct Map<Base> { | |
typealias _Key = ObjectIdentifier | |
var _values: [_Key: Any] |
View interchangeable_matched_geometry_effect.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import SwiftUI | |
struct HeroAnimationTest: View { | |
let indices = 0 ..< 3 | |
@State | |
var showsOtherView = false | |
@Namespace | |
var namespaceID: Namespace.ID |
View ReferenceFileDocument_Example.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import SwiftUI | |
import UniformTypeIdentifiers | |
// DOCUMENT EXAMPLE | |
extension UTType { | |
static var exampleText: UTType { | |
UTType(importedAs: "com.example.plain-text") | |
} | |
} |
View swiftui_picker_attempt.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Combine | |
import SwiftUI | |
// To re-align the cells to the center we use a workaround through debouncing | |
// the nearest cell ID which is computed every time the scroll view moves. | |
// | |
// HOWEVER there is a bug that still needs to be solved: | |
// If you drag the scroll view and hold, the debounce event will still happen | |
// and reposition the cell. | |
// |
View fake_animation_completion.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fileprivate struct _CompletionPreferenceKey: PreferenceKey { | |
typealias Value = CGFloat | |
static let defaultValue: CGFloat = 0 | |
static func reduce(value: inout CGFloat, nextValue: () -> CGFloat) { | |
value = nextValue() | |
} | |
} |
NewerOlder