`DispatchQueue.main.asyncAfter(wallDeadline: .now() + 0.3)` {
// Do something funky!
}`
#SwiftUI, #buildinpublic
`DispatchQueue.main.asyncAfter(wallDeadline: .now() + 0.3)` {
// Do something funky!
}`
#SwiftUI, #buildinpublic
github.com/gilzoide/cpp...
#C++ #gamedev
github.com/gilzoide/cpp...
#C++ #gamedev
github.com/gilzoide/cpp...
#gamedev #C++
github.com/gilzoide/cpp...
#gamedev #C++
#iOS #Swift #GCD #iOSDev #SwiftConcurrency #DispatchQueue #OperationQueue #iOSInterview #Actor #AsyncAwait #MainActor #Sendable #TechInterview #MobileDevelopment #SoftwareEngineering
#iOS #Swift #GCD #iOSDev #SwiftConcurrency #DispatchQueue #OperationQueue #iOSInterview #Actor #AsyncAwait #MainActor #Sendable #TechInterview #MobileDevelopment #SoftwareEngineering
and i thought... why not build that... but in a much worse way!
and i thought... why not build that... but in a much worse way!
Fixes the 4 AI mistakes that ship crashes: class instead of struct, DispatchQueue in async context, ObservableObject leaks, silent network errors.
https://gist.github.com/oliviacraft/d9baf0746c58b4fa8380ec750bf8c383
#Swift #iOS #CursorIDE
Fixes the 4 AI mistakes that ship crashes: class instead of struct, DispatchQueue in async context, ObservableObject leaks, silent network errors.
https://gist.github.com/oliviacraft/d9baf0746c58b4fa8380ec750bf8c383
#Swift #iOS #CursorIDE
AI assistants default to 2018 Swift in 2026 — DispatchQueue inside async functions, @Published view models on background threads, force-unwrapped URL(string:)!, retain cycles in Task closures.
10 rules to fix it ↓
AI assistants default to 2018 Swift in 2026 — DispatchQueue inside async functions, @Published view models on background threads, force-unwrapped URL(string:)!, retain cycles in Task closures.
10 rules to fix it ↓
public class Log {
private let queue = DispatchQueue(label:"log")
public func log( _ msg: String ) {
queue.async {
writeStringToFile(msg)
}
}
Log entries get written in their entirety and in order† without locking up the current thread.
†For each calling thread
public class Log {
private let queue = DispatchQueue(label:"log")
public func log( _ msg: String ) {
queue.async {
writeStringToFile(msg)
}
}
Log entries get written in their entirety and in order† without locking up the current thread.
†For each calling thread
Want to integrate Actor with legacy APIs like Combine or Core Data? You can use a custom SerialExecutor to make them share the same queue. 🧵👇
Want to integrate Actor with legacy APIs like Combine or Core Data? You can use a custom SerialExecutor to make them share the same queue. 🧵👇
It runs sequences which are scheduled on DispatchQueues. He also put everything on main with blocking code all the time.
It runs sequences which are scheduled on DispatchQueues. He also put everything on main with blocking code all the time.
#ios #iosdevelopment #swift #swiftui #swiftlang #UIHangs #AppHangsDetection #Instruments
#ios #iosdevelopment #swift #swiftui #swiftlang #UIHangs #AppHangsDetection #Instruments
#epsteinweb #efta02367480
https://epsteinweb.org
Available in the iOS app store now!
https://apps.apple.com/us/app/epstein-web/id6758880661
#epsteinweb #efta02367480
https://epsteinweb.org
Available in the iOS app store now!
https://apps.apple.com/us/app/epstein-web/id6758880661
I need to try something else.
I need to try something else.
File: packages/react-dom-bindings/src/events/plugins/SelectEventPlugin.js:150
function extractEvents( dispatchQueue: DispatchQueue, domEventName: DOMEvent...
SVG: dark, light
File: packages/react-dom-bindings/src/events/plugins/SelectEventPlugin.js:150
function extractEvents( dispatchQueue: DispatchQueue, domEventName: DOMEvent...
SVG: dark, light
File: packages/react-dom-bindings/src/events/plugins/ScrollEndEventPlugin.js:123
function extractEvents( dispatchQueue: DispatchQueue, domEventName: DOMEv...
SVG: dark, light
File: packages/react-dom-bindings/src/events/plugins/ScrollEndEventPlugin.js:123
function extractEvents( dispatchQueue: DispatchQueue, domEventName: DOMEv...
SVG: dark, light
File: packages/react-dom-bindings/src/events/plugins/ChangeEventPlugin.js:287
function extractEvents( dispatchQueue: DispatchQueue, domEventName: DOMEvent...
SVG: dark, light
File: packages/react-dom-bindings/src/events/plugins/ChangeEventPlugin.js:287
function extractEvents( dispatchQueue: DispatchQueue, domEventName: DOMEvent...
SVG: dark, light
File: packages/react-dom-bindings/src/events/plugins/SelectEventPlugin.js:150
function extractEvents( dispatchQueue: DispatchQueue, domEventName: DOMEvent...
SVG: dark, light
File: packages/react-dom-bindings/src/events/plugins/SelectEventPlugin.js:150
function extractEvents( dispatchQueue: DispatchQueue, domEventName: DOMEvent...
SVG: dark, light
It seems a bit odd to have to block on a mutex *inside* a coroutine to ensure they run in order, instead of somehow restricting the coroutine to wait for the previous one to complete its run […]
It seems a bit odd to have to block on a mutex *inside* a coroutine to ensure they run in order, instead of somehow restricting the coroutine to wait for the previous one to complete its run […]