Swift
- Fatbobman's Swift Weekly #056
Fatbobman's Swift Weekly #056 | Reflections on the Pixelmator Acquisition
- Apple is Killing Swift
- iOS Performance Optimization
- Understanding Actors
- AnchoredRelativeFormatStyle
- Type-Driven Design
- Swift Concurrency
- Starting with Project Refactoring: Sharing Five Swift Modulesfatbobman.com Starting with Project Refactoring - Sharing Five Swift Modules | Fatbobman's Blog
This article provides a brief introduction to the libraries I have open-sourced over the past two months.
- Fatbobman's Swift Weekly #055
Fatbobman's Swift Weekly #055 | Master Technology, Don't Let It Master You
- KeyPath in Swift
- SwiftUI View Contracts
- Swift Macros
- AnyView in Xcode 16
- Exploring Cursor
- Swift Testing
- Comprehensive Guide to Mastering KeyPath in Swiftfatbobman.com Comprehensive Guide to Mastering KeyPath in Swift | Fatbobman's Blog
This article aims to delve deeply into the functional characteristics of KeyPath, revealing its unique charm in Swift programming, and helping you transform it into a powerful assistant in your development process.
In the world of Swift, KeyPath is a powerful yet often underestimated feature. Many developers use it inadvertently in their daily programming without fully realizing its potential and importance. This article aims to delve deeply into the functional characteristics of KeyPath, revealing its unique charm in Swift programming, and helping you transform it into a powerful assistant in your development process.
- Fatbobman's Swift Weekly #054
Fatbobman's Swift Weekly #054 | Security, Convenience, and Privacy
- Applying SwiftData Principles in Core Data
- Copy On Write
- @preconcurrency
- Visualizing SwiftUI Animations
- Exploring Cursor
- Data Loss in UserDefaults
- Reinventing Core Data Development with SwiftData Principlesfatbobman.com Reinventing Core Data Development with SwiftData Principles | Fatbobman's Blog
This article will explore how to apply SwiftData's way of thinking within Core Data, focusing on data modeling and concurrent programming.
This article will explore how to apply SwiftData’s way of thinking within Core Data, focusing on data modeling and concurrent programming.
- Fatbobman's Swift Weekly #053weekly.fatbobman.com Fatbobman's Swift Weekly #053
Breaking the Annual Release Cycle: A New Dawn for Tech Innovation?
Fatbobman's Swift Weekly #053 | Breaking the Annual Release Cycle: A New Dawn for Tech Innovation?
- UserDefaults + Observation
- SwiftUI Animation
- Using Binaries as Libraries
- Why I Stopped Building for visionOS
- Arrays vs Sets
- Dependency Injection in Swift
- AI-Generated Unit Tests
- UserDefaults and Observation in SwiftUI - How to Achieve Precise Responsivenessfatbobman.com UserDefaults and Observation in SwiftUI - How to Achieve Precise Responsiveness | Fatbobman's Blog
This article will explore how to efficiently and conveniently manage data in UserDefaults under the Observation framework and propose a complete and practical solution.
This article will explore how to efficiently and conveniently manage data in UserDefaults under the Observation framework and propose a complete and practical solution.
ObservableDefaults
responds to changes inUserDefaults
from any source, offering the precision ofObservation
while maintaining the flexibility ofAppStorage
in handling modifications. - Fatbobman's Swift Weekly #052weekly.fatbobman.com Fatbobman's Swift Weekly #052
Reflecting on the Original Aspiration: On the First Anniversary of the Weekly's Inception
Fatbobman's Swift Weekly #052 | Reflecting on the Original Aspiration: On the First Anniversary of the Weekly's Inception
- Dev Conversations
- VoiceOver and Voice Control
- Shared With You
- UIKit or SwiftUI
- SwiftUI Environment
- Non-Sendable types are cool too you knowwww.massicotte.org Non-Sendable types are cool too you know
Sendable gets talked about a lot. And while it is a critical aspect of Swift concurrency, I think non-Sendable types are very interesting and just as important. They are often seen as a problem when facing concurrency issues. But, non-Sendable types can actually sometimes be a perfect solution.
Wrote this up in kind of hurry, but people seem to like it. Thought I’d throw it up over here.
- Async await in Swift: The Full Toolkitwww.emergetools.com Emerge Tools Blog | Async await in Swift: The Full Toolkit
Understand the range of tools in Swift Concurrency
“Today, we're going through the many techniques in the Swift Concurrency toolkit. We'll discuss theory when it's appropriate, but for each tool we'll also provide a context where it might be the best solution.”
- Vulnerabilities in CocoaPods Open the Door to Supply Chain Attacks Against Thousands of iOS and macOS Applicationswww.evasec.io Vulnerabilities in CocoaPods Open the Door to Supply Chain Attacks Against Thousands of iOS and MacOS Applications | E.V.A
Multiple vulnerabilities affecting the CocoaPods ecosystem, have been discovered, posing a major risk of supply chain attacks.
“E.V.A Information Security researchers uncovered several vulnerabilities in the CocoaPods dependency manager that allows any malicious actor to claim ownership over thousands of unclaimed pods and insert malicious code into many of the most popular iOS and MacOS applications. These vulnerabilities have since been patched.”
- Apple didn't fix Swift's biggest flawdanielchasehooper.com Apple didn't fix Swift's biggest flaw
How a 10 year old design choice for Swift’s type checker still haunts us to this day
“The Swift compiler is notoriously slow due to how types are inferred. Every June I hope that Apple will announce that they fixed it; sadly this is not that year.”
- What's new in Swift 6.0?www.hackingwithswift.com What's new in Swift 6.0?
When fully enabled, Swift 6 is likely to require changes in pretty much every project.
- Concurrency in Swift 6: SE-0414
Hey all! I've been writing up a series on the changes coming to Swift 6 related to concurrency. Thought I'd start sharing them here too.
- Get Started with Embedded Swift on ARM and RISC-V Microcontrollerswww.swift.org Get Started with Embedded Swift on ARM and RISC-V Microcontrollers
We’re pleased to introduce a repository of example projects that demonstrate how Embedded Swift can be used to develop software on a range of microcontrollers.
- SSWG 2024 Annual Updatewww.swift.org SSWG 2024 Annual Update
In this annual post, the Swift Server WorkGroup (SSWG) reflects on the community, ecosystem-wide accomplishments and the workgroup’s focus areas for the year ahead.
- Writing GNOME Apps with Swiftwww.swift.org Writing GNOME Apps with Swift
Swift is well-suited for creating user interfaces thanks to the clean syntax, static typing, and special features making code easier to write. Result builders, combined with Swift’s closure expression syntax, can significantly enhance code readability.
- Swift strings look identical but aren’tdamian.fyi Swift strings look identical but aren’t
I recently found myself trying to debug a most perplexing problem. Two identical strings were different. How could this be?
- Apple’s use of Swift and SwiftUI in iOS 17
“Now that iOS 17 is available, let’s analyze its built-in apps to answer a few questions: How many binaries are in iOS 17? Which programming languages are used to develop these apps? How many apps are written with Swift? What is the percentage of apps using SwiftUI versus UIKit?”
- Value and Type parameter packs in Swift explained with exampleswww.avanderlee.com Value and Type parameter packs in Swift explained with examples
Value and type parameter packs allow you to write generic functions that accept an arbitrary number of arguments with distinct types
cross-posted from: https://programming.dev/post/3558087
> Type parameter packs and value parameter packs allow you to write a generic function that accepts an arbitrary number of arguments with distinct types. As a result of SE-393, SE-398, and SE-399, you can use this new feature from Swift 5.9.
- A new approach to testing in Swiftforums.swift.org A New Approach to Testing in Swift
Hi everyone, I’m excited to announce a new open source project exploring improvements to the testing experience for Swift. My colleagues @briancroom, @grynspan, @chefski, @Dennis and I have been working on this in recent months and have some early progress we're excited to share. Inspired by what’...
- SwiftUI Sensory Feedbackuseyourloaf.com SwiftUI Sensory Feedback
In iOS 17, Apple added a range of sensory feedback view modifiers to SwiftUI.
In iOS 17, Apple added a range of sensory feedback view modifiers to SwiftUI removing the need to rely on UIKit.
- Predicate Macro in Swift for filtering and searchingwww.avanderlee.com Predicate Macro in Swift for filtering and searching
The #Predicate Macro allows you to filter or search a collection of data using type-safe and readable higher-level Swift code.
#Predicate is a new Macro available since Swift 5.9 and Xcode 15, allowing you to filter or search a data collection. It can be seen as a replacement for the old-fashioned NSPredicate we’re used to from the Objective-C days.
- Swift Charts Examplesgithub.com GitHub - jordibruin/Swift-Charts-Examples: An overview of the different types of charts you can make with Swift Charts
An overview of the different types of charts you can make with Swift Charts - GitHub - jordibruin/Swift-Charts-Examples: An overview of the different types of charts you can make with Swift Charts
An overview of the different types of charts you can make with Swift Charts
- Objective-C Internals articles seriesalwaysprocessing.blog Objective-C Internals
Get ready to dive deep into the inner workings of the Objective-C language and runtime! Each post delves into a specific aspect of the language and explores the details of its implementation. I hope you’ll find this valuable to demystify the language, tackle tricky bugs, and optimize your code for p...
Get ready to dive deep into the inner workings of the Objective-C language and runtime! Each post delves into a specific aspect of the language and explores the details of its implementation. I hope you’ll find this valuable to demystify the language, tackle tricky bugs, and optimize your code for performance.
- Open Source Swift Projects to Contribute into and Learn From?
Hi,
I thought we could make a list of open source Swift projects that's open to public contribution. Which is one of the most effective ways to really learn programming.
We could follow this template to make it easy for readers:
Title in Bold
Short Description:
Link:
- Using virtualisation to install MacOS Sonoma on an M1/M2 Maclaurentbrusa.hashnode.dev Using virtualisation to install MacOS Sonoma on an M1/M2 Mac
Using virtualisation to install MacOS Sonoma on an M1/M2 Mac
- Introducing Swift HTTP Typeswww.swift.org Introducing Swift HTTP Types
We’re excited to announce a new open source package called Swift HTTP Types.
We’re excited to announce a new open source package called Swift HTTP Types.
Building upon insights from Swift on server, app developers, and the broader Swift community, Swift HTTP Types is designed to provide a shared set of currency types for client/server HTTP operations in Swift....
- Adding or Replacing Element in Array
So I've got the following code, which seems to work, and I'm wondering if there is a better, cleaner way to approach adding/editing elements in an array.
```swift var category: Category var idx: Int = -1
switch mode { case .add: category = Category() case .edit(let _category): category = _category idx = categoryViewModel.categories.firstIndex(of: _category) ?? idx }
category.name = categoryName category.icon = "category-\(categoryIdx)" category.color = colors[colorIdx]
switch mode { case .add: categoryViewModel.categories.append(category) case .edit: categoryViewModel.categories[idx] = category } ```
I understand I'm not checking
idx
to make sure it's not-1
. I'm not concerned about that part right now. It's the overall approach I'm looking for thoughts on.Thanks!
- Mastering Swift Foundation Formatter API. Custom Format Stylesswiftwithmajid.com Mastering Swift Foundation Formatter API. Custom Format Styles
Swift Foundation Formatter API is one of my favorite recent additions to the Swift ecosystem. I use it in every project and build my custom-type formatting logic using the same approach. This week we will learn how to introduce custom formatters and use them with our own types.