Search results for

“swiftui”

17,109 results found

Post

Replies

Boosts

Views

Activity

onDisappear not called when closing a document on macOS (Designed for iPad), works on iPad
When running a SwiftUI DocumentGroup app on macOS designed for iPad, onDisappear is not called when closing a document, and deinit of state objects owned by a ContentView is not invoked. This behavior works as expected on iPad. @main struct MyApp: App { var body: some Scene { DocumentGroup(newDocument: MyDocument()) { file in ContentView(document: file.$document) .onDisappear { print(This isn't called on macOS Designed For iPad, but is on iPad when closing a document.) } } } } It is my understanding that for a macOS designed for iPad these lifecycle events would behave the same - otherwise there appears to be no way to detect if a document has closed on macOS.
2
0
137
Mar ’26
iPadOS 26 Crash when num pad with floating keyboard in presented view
Build the sample code below, type something in the textfield (make sure the num pad is a popup and that the text keyboard is floating). And tap multiple times outside of the textfield in the sheet. That will lead to the crash: *** Terminating app due to uncaught exception 'NSGenericException', reason: 'Unable to activate constraint with anchors and because they have no common ancestor. Does the constraint or its anchors reference items in different view hierarchies? That's illegal.' terminating due to uncaught exception of type NSException CoreSimulator 1051.17.8 - Device: iPad Pro 13-inch (M5) (655000D7-41BC-4B13-BD07-BBA80D892E97) - Runtime: iOS 26.2 (23C54) - DeviceType: iPad Pro 13-inch (M5) Does anyone have the slightest idea of a workaround? I can't find one. import SwiftUI struct ContentView: View { var body: some View { Text(Content) .sheet(isPresented: .constant(true)) { PresentedView() } } } struct PresentedView: View { @State private var text = var body: some View { ScrollView { VStack
0
0
95
Mar ’26
SwiftUI Chart scrolling on macOS
I'm running macOS 26.3 and using Xcode 26.4. I'm trying to create a SwiftUI Chart that can scroll horizontally. In the SwiftUI Preview, and also running the app on macOS, the chart displays a scrollbar, but the scrollbar does not respond to mouse interaction (dragging the scrollbar, or clicking in the gutters on either side of the scrollbar). Here's the sample code: import SwiftUI import Charts private struct DataPoint: Identifiable { let id: Int let x: Double let value: Double } struct ContentView: View { private let points: [DataPoint] = (0..<60).map { index in let wave = sin(Double(index) * 0.28) * 18 let trend = Double(index) * 0.35 return DataPoint(id: index, x: Double(index), value: 60 + wave + trend) } var body: some View { Chart(points) { point in BarMark( x: .value(Data Point, point.x), y: .value(Value, point.value) ) .foregroundStyle(.blue.gradient) } .chartScrollableAxes(.horizontal) // Doesn't work: // .scrollIndicators(.hidden) // .never also does not work .chartXVis
3
0
247
Mar ’26
Xcode's built-in AI chat feature (IDEIntelligenceChat) crashes.
According tho Claude, The crash is clearly a bug in Xcode's built-in AI chat feature (IDEIntelligenceChat), not an authentication issue or anything on your end. What the crash log shows: The crash is happening in IDEIntelligenceChat — specifically in ChatInputEditorView.updateView and SourceEditorDataSource.ideChat_gracefullyApplyChangesToReflect. It's a SIGTRAP (assertion/precondition failure) triggered while SwiftUI is trying to lay out the AI chat panel. This is an Apple bug in Xcode 26.2 itself.
1
0
84
Mar ’26
Does your Canvas in Xcode crash all the time due to AXRemoteElement-BackgroundFetch?
Hi everyone, yesterday I updated my macOS and Xcode to the latest versions and today I have the strangest thing: Canvas is always crashing whenever I click it, in any and all my Projects. The full Simulator works just fine; only the Preview Canvas crashes. All the crash reports say it's because of AXRemoteElement-BackgroundFetch, and ChatGPT says it's not because of my code. These are very simple Projects, just for experimentation. Nothing complex, just native code while I follow examples in a SwiftUI book. Anyone else having this issue? Translated Report (Full Report Below) ------------------------------------- Process: PreviewShell [2179] Path: /Volumes/VOLUME/*/PreviewShell.app/PreviewShell Identifier: com.apple.PreviewShell Version: 16.0 (23.40.29) Code Type: ARM-64 (Native) Role: Foreground Parent Process: launchd_sim [1405] Coalition: com.apple.CoreSimulator.SimDevice.E9525D59-3C07-43F9-ACC9-18CF5DD0DAA1 [1516] Responsible Process: SimulatorTrampoline [1120] User ID: 501 Date/Time: 2026-03-26 1
8
0
567
Mar ’26
How to load and draw texture with opacity in Metal
The background I'm finally working to convert my very old Mac kaleidoscope application, ScopeWorks, which was written in OpenGL and Objective-C, to a Multiplatform app in SwiftUI and Metal. I'm using the MetalKit MTKView class, wrapped for SwiftUI as an NSViewRepresentable or UIViewRepresentable. I then provide an MTKViewDelegate that provides a draw method. The draw method fetches the current render pass descriptor, creates a command buffer, sets up a render pipeline, and does its drawing. My renderer's makePipeline method looks like this: func makePipeline() { let library = device.makeDefaultLibrary() let pipelineDesc = MTLRenderPipelineDescriptor() pipelineDesc.vertexFunction = library?.makeFunction(name: vertex_main) pipelineDesc.fragmentFunction = library?.makeFunction(name: fragment_main) pipelineDesc.colorAttachments[0].pixelFormat = .bgra8Unorm pipeline = try! device.makeRenderPipelineState(descriptor: pipelineDesc) } And my shaders look like this: struct VertexOut { float4 position
2
0
1k
Mar ’26
xcodebuild fails if build tool plugins are installed
After having built the SwiftUI project numerous times from Xcode and allowing the plugins after the first build post install using xcodebuild -scheme build fails with: The following build commands failed: Validate plug-in “SwiftLintBuildToolPlugin” in package “swiftlintplugins” Validate plug-in “OpenAPIGenerator” in package “swift-openapi-generator” How are we supposed to grant the plugins permission to run in the CLI? Everything I'm getting from Gemini is for packages, not apps.
0
0
118
Mar ’26
CKQuerySubscription on public database never triggers APNS push in Production environment
Hi everyone, I have a SwiftUI app using CKQuerySubscription on the public database for social notifications (friend requests, recommendations, etc.). Push notifications work perfectly in the Development environment but never fire in Production (TestFlight). Setup: iOS 26.4, Xcode 26, Swift 6 Container: public database, CKQuerySubscription with .firesOnRecordCreation 5 subscriptions verified via CKDatabase.allSubscriptions() registerForRemoteNotifications() called unconditionally on every launch Valid APNS device token received in didRegisterForRemoteNotificationsWithDeviceToken Push Notifications + Background Modes (Remote notifications) capabilities enabled What works: All 5 subscriptions create successfully in Production Records are saved and queryable (in-app CloudKit fetches return them immediately) APNS production push works — tested via Xcode Push Notifications Console with the same device token, notification appeared instantly Everything works perfectly in the Development environment (subscrip
11
0
1.4k
Mar ’26
Xcode 26.4 and 26.3: Swift compiler crashes during archive with iOS 17 deployment target
I submitted this to Feedback Assistant as FB22331090 and wanted to share a minimal reproducible example here in case others are seeing the same issue. Environment: Xcode 26.4 or Xcode 26.3 Apple Swift version 6.3 (swiftlang-6.3.0.123.5 clang-2100.0.123.102) Effective Swift language version 5.10 Deployment target: iOS 17.0 The sample app builds successfully for normal development use, but archive fails. The crash happens during optimization in EarlyPerfInliner while compiling the synthesized deinit of a nested generic Coordinator class. The coordinator stores a UIHostingController. Minimal reproducer: import SwiftUI struct ReproView: UIViewRepresentable { let content: Content func makeUIView(context: Context) -> UIView { context.coordinator.host.view } func updateUIView(_ uiView: UIView, context: Context) { context.coordinator.host.rootView = content } func makeCoordinator() -> Coordinator { Coordinator(content: content) } final class Coordinator { let host: UIHostingController init(content: Con
2
0
260
Mar ’26
Reply to Best practice for centralizing SwiftData query logic and actions in an @Observable manager?
This is untested and probably has problems, but this approximates what I meant: import SwiftData import SwiftUI struct ReadingViewModifier: ViewModifier { @Query private var books: [Book] @State private var manager: ReadingManager func body(content: Content) -> some View { content .environment(.readingManager, manager) .onChange(of: books) { manager.receive(books: books) } } } Inside another component, you can read the manager with: @Environment(.readingManager) private var manger: ReadingManager
Topic: App & System Services SubTopic: iCloud Tags:
Mar ’26
Reply to Best practice for centralizing SwiftData query logic and actions in an @Observable manager?
I am so late to this that I don't know whether it's useful, but the approach I take is having an observable as you did, but rather than trying to query there, just include a receive(books: [Book]) function that takes the query results from the SwiftUI view with the query and updates the @State var books: [Book] = [] state in the observable. You can feed the results from that view into the observable whenever something changes. You could also take it a step further and create a custom modifier that runs the query, passes it into the observable, then binds the observable into the environment. If anyone is interested in the approach, let me know and I can put together some sample code for it.
Topic: App & System Services SubTopic: iCloud Tags:
Mar ’26
RealityView AR - anchored to the screen not the floor
This started out as a plea for help, but in preparing this post I discovered the root cause. I'm posting it as a lesson learned in hopes it will help someone. I've spent a good chunk of March trying to get AR-mode working again in my unreleased game. I had it working with SceneKit and ARView 5 years ago, but since 2024 I've been converting the game to use RealityKit and RealityView on iOS, macOS, visionOS, and tvOS. I've been having no joy getting AR mode to work on iOS. I get the pass-through device video but the game content isn't anchored to the floor but rather anchored to the screen. I made a simple project with just a simple shape in the middle of a RealityView and an overlay with a SwiftUI toggle to go in and out of AR-mode. At first, my simple project worked, and I couldn't figure out what was different in the logic. Both projects used the same logic: func transitionToXR(_ content: inout RealityViewCameraContent) { content.remove(gameBoard.rootEntity) content.add(xrAnchor) content.camera = .s
5
0
381
Mar ’26
Reply to App Clips not working
Thanks for the post, in this page you'll find a sample for AppClips as well as the first note will provide you the 101 of App Clips. I always recommend developers to go over all those videos and documentation liked on that note. Then download the app, look at every single configuration from that app including the Clip target! https://developer.apple.com/documentation/appclip/fruta-building-a-feature-rich-app-with-swiftui In my opinion and without going deep in your solution, the reason your AASA endpoint is never getting called when you scan the QR code is due to a common misconception about how iOS handles App Clips and Universal Links, the iOS device does not fetch the AASA file at the moment you scan a QR code. Downloads the file at app installation time and there is also a delay. When you scan a QR code, iOS checks its local cache and Apple's CDN records to see if that URL is registered to an App Clip. If Apple's CDN hasn't validated your AASA file, or if the TestFlight configuration is incomplet
Topic: App & System Services SubTopic: General Tags:
Mar ’26
Reply to Fatal error on rollback after delete
I managed to create a minimal repro example: import SwiftData import SwiftUI @Model final class ParentModel { var name: String @Relationship(deleteRule: .cascade, inverse: ChildModel1.parent) var children: [ChildModel1]? @Relationship(deleteRule: .cascade, inverse: ChildModel2.parent) var children2: [ChildModel2]? init(name: String) { self.name = name } } @Model final class ChildModel1 { var name: String @Relationship(deleteRule: .nullify) var parent: ParentModel? init(name: String) { self.name = name } } @Model final class ChildModel2 { var name: String @Relationship(deleteRule: .nullify) var parent: ParentModel? init(name: String) { self.name = name } } struct ContentView: View { @Environment(.modelContext) private var modelContext var body: some View { List { Button(Create parent with children) { createParentWithChildren() } Button(Delete) { delete() } } } func createParentWithChildren() { let parent = ParentModel(name: Parent) let child1 = ChildModel1(name: Child 1) let child2 = ChildModel2(name:
Topic: App & System Services SubTopic: iCloud Tags:
Mar ’26
Charts performance issue
Hi, I want to recreate a chart from Apple Health and I have code like this. When I scroll - especially the week and month charts, there are performance issues. If I remove .chartScrollPosition(x: $scrollChartPosition), it runs smoothly, but I need to know which part of the chart is currently displayed. Can you help me? import Charts import SwiftUI struct MacroChartView: View { var selectedRange: ChartRange var binnedPoints: [MacroBinPoint] @State private var scrollChartPosition: Date = .now var body: some View { VStack { Text((selectedRange.rangeLabel(for: scrollChartPosition))) Chart(binnedPoints) { point in BarMark( x: .value(Date, point.date, unit: selectedRange.binComponent), y: .value(Calories, point.calories) ) } .frame(height: 324) .chartXVisibleDomain(length: selectedRange.visibleDomainLength()) .chartScrollableAxes(.horizontal) .chartScrollPosition(x: $scrollChartPosition) .chartScrollTargetBehavior(.valueAligned(matching: selectedRange.scrollAlignmentComponents)) .chartXAxis { switch select
2
0
557
Mar ’26
onDisappear not called when closing a document on macOS (Designed for iPad), works on iPad
When running a SwiftUI DocumentGroup app on macOS designed for iPad, onDisappear is not called when closing a document, and deinit of state objects owned by a ContentView is not invoked. This behavior works as expected on iPad. @main struct MyApp: App { var body: some Scene { DocumentGroup(newDocument: MyDocument()) { file in ContentView(document: file.$document) .onDisappear { print(This isn't called on macOS Designed For iPad, but is on iPad when closing a document.) } } } } It is my understanding that for a macOS designed for iPad these lifecycle events would behave the same - otherwise there appears to be no way to detect if a document has closed on macOS.
Replies
2
Boosts
0
Views
137
Activity
Mar ’26
iPadOS 26 Crash when num pad with floating keyboard in presented view
Build the sample code below, type something in the textfield (make sure the num pad is a popup and that the text keyboard is floating). And tap multiple times outside of the textfield in the sheet. That will lead to the crash: *** Terminating app due to uncaught exception 'NSGenericException', reason: 'Unable to activate constraint with anchors and because they have no common ancestor. Does the constraint or its anchors reference items in different view hierarchies? That's illegal.' terminating due to uncaught exception of type NSException CoreSimulator 1051.17.8 - Device: iPad Pro 13-inch (M5) (655000D7-41BC-4B13-BD07-BBA80D892E97) - Runtime: iOS 26.2 (23C54) - DeviceType: iPad Pro 13-inch (M5) Does anyone have the slightest idea of a workaround? I can't find one. import SwiftUI struct ContentView: View { var body: some View { Text(Content) .sheet(isPresented: .constant(true)) { PresentedView() } } } struct PresentedView: View { @State private var text = var body: some View { ScrollView { VStack
Replies
0
Boosts
0
Views
95
Activity
Mar ’26
SwiftUI Chart scrolling on macOS
I'm running macOS 26.3 and using Xcode 26.4. I'm trying to create a SwiftUI Chart that can scroll horizontally. In the SwiftUI Preview, and also running the app on macOS, the chart displays a scrollbar, but the scrollbar does not respond to mouse interaction (dragging the scrollbar, or clicking in the gutters on either side of the scrollbar). Here's the sample code: import SwiftUI import Charts private struct DataPoint: Identifiable { let id: Int let x: Double let value: Double } struct ContentView: View { private let points: [DataPoint] = (0..<60).map { index in let wave = sin(Double(index) * 0.28) * 18 let trend = Double(index) * 0.35 return DataPoint(id: index, x: Double(index), value: 60 + wave + trend) } var body: some View { Chart(points) { point in BarMark( x: .value(Data Point, point.x), y: .value(Value, point.value) ) .foregroundStyle(.blue.gradient) } .chartScrollableAxes(.horizontal) // Doesn't work: // .scrollIndicators(.hidden) // .never also does not work .chartXVis
Replies
3
Boosts
0
Views
247
Activity
Mar ’26
Xcode's built-in AI chat feature (IDEIntelligenceChat) crashes.
According tho Claude, The crash is clearly a bug in Xcode's built-in AI chat feature (IDEIntelligenceChat), not an authentication issue or anything on your end. What the crash log shows: The crash is happening in IDEIntelligenceChat — specifically in ChatInputEditorView.updateView and SourceEditorDataSource.ideChat_gracefullyApplyChangesToReflect. It's a SIGTRAP (assertion/precondition failure) triggered while SwiftUI is trying to lay out the AI chat panel. This is an Apple bug in Xcode 26.2 itself.
Replies
1
Boosts
0
Views
84
Activity
Mar ’26
Does your Canvas in Xcode crash all the time due to AXRemoteElement-BackgroundFetch?
Hi everyone, yesterday I updated my macOS and Xcode to the latest versions and today I have the strangest thing: Canvas is always crashing whenever I click it, in any and all my Projects. The full Simulator works just fine; only the Preview Canvas crashes. All the crash reports say it's because of AXRemoteElement-BackgroundFetch, and ChatGPT says it's not because of my code. These are very simple Projects, just for experimentation. Nothing complex, just native code while I follow examples in a SwiftUI book. Anyone else having this issue? Translated Report (Full Report Below) ------------------------------------- Process: PreviewShell [2179] Path: /Volumes/VOLUME/*/PreviewShell.app/PreviewShell Identifier: com.apple.PreviewShell Version: 16.0 (23.40.29) Code Type: ARM-64 (Native) Role: Foreground Parent Process: launchd_sim [1405] Coalition: com.apple.CoreSimulator.SimDevice.E9525D59-3C07-43F9-ACC9-18CF5DD0DAA1 [1516] Responsible Process: SimulatorTrampoline [1120] User ID: 501 Date/Time: 2026-03-26 1
Replies
8
Boosts
0
Views
567
Activity
Mar ’26
How to load and draw texture with opacity in Metal
The background I'm finally working to convert my very old Mac kaleidoscope application, ScopeWorks, which was written in OpenGL and Objective-C, to a Multiplatform app in SwiftUI and Metal. I'm using the MetalKit MTKView class, wrapped for SwiftUI as an NSViewRepresentable or UIViewRepresentable. I then provide an MTKViewDelegate that provides a draw method. The draw method fetches the current render pass descriptor, creates a command buffer, sets up a render pipeline, and does its drawing. My renderer's makePipeline method looks like this: func makePipeline() { let library = device.makeDefaultLibrary() let pipelineDesc = MTLRenderPipelineDescriptor() pipelineDesc.vertexFunction = library?.makeFunction(name: vertex_main) pipelineDesc.fragmentFunction = library?.makeFunction(name: fragment_main) pipelineDesc.colorAttachments[0].pixelFormat = .bgra8Unorm pipeline = try! device.makeRenderPipelineState(descriptor: pipelineDesc) } And my shaders look like this: struct VertexOut { float4 position
Replies
2
Boosts
0
Views
1k
Activity
Mar ’26
xcodebuild fails if build tool plugins are installed
After having built the SwiftUI project numerous times from Xcode and allowing the plugins after the first build post install using xcodebuild -scheme build fails with: The following build commands failed: Validate plug-in “SwiftLintBuildToolPlugin” in package “swiftlintplugins” Validate plug-in “OpenAPIGenerator” in package “swift-openapi-generator” How are we supposed to grant the plugins permission to run in the CLI? Everything I'm getting from Gemini is for packages, not apps.
Replies
0
Boosts
0
Views
118
Activity
Mar ’26
CKQuerySubscription on public database never triggers APNS push in Production environment
Hi everyone, I have a SwiftUI app using CKQuerySubscription on the public database for social notifications (friend requests, recommendations, etc.). Push notifications work perfectly in the Development environment but never fire in Production (TestFlight). Setup: iOS 26.4, Xcode 26, Swift 6 Container: public database, CKQuerySubscription with .firesOnRecordCreation 5 subscriptions verified via CKDatabase.allSubscriptions() registerForRemoteNotifications() called unconditionally on every launch Valid APNS device token received in didRegisterForRemoteNotificationsWithDeviceToken Push Notifications + Background Modes (Remote notifications) capabilities enabled What works: All 5 subscriptions create successfully in Production Records are saved and queryable (in-app CloudKit fetches return them immediately) APNS production push works — tested via Xcode Push Notifications Console with the same device token, notification appeared instantly Everything works perfectly in the Development environment (subscrip
Replies
11
Boosts
0
Views
1.4k
Activity
Mar ’26
Xcode 26.4 and 26.3: Swift compiler crashes during archive with iOS 17 deployment target
I submitted this to Feedback Assistant as FB22331090 and wanted to share a minimal reproducible example here in case others are seeing the same issue. Environment: Xcode 26.4 or Xcode 26.3 Apple Swift version 6.3 (swiftlang-6.3.0.123.5 clang-2100.0.123.102) Effective Swift language version 5.10 Deployment target: iOS 17.0 The sample app builds successfully for normal development use, but archive fails. The crash happens during optimization in EarlyPerfInliner while compiling the synthesized deinit of a nested generic Coordinator class. The coordinator stores a UIHostingController. Minimal reproducer: import SwiftUI struct ReproView: UIViewRepresentable { let content: Content func makeUIView(context: Context) -> UIView { context.coordinator.host.view } func updateUIView(_ uiView: UIView, context: Context) { context.coordinator.host.rootView = content } func makeCoordinator() -> Coordinator { Coordinator(content: content) } final class Coordinator { let host: UIHostingController init(content: Con
Replies
2
Boosts
0
Views
260
Activity
Mar ’26
Reply to Best practice for centralizing SwiftData query logic and actions in an @Observable manager?
This is untested and probably has problems, but this approximates what I meant: import SwiftData import SwiftUI struct ReadingViewModifier: ViewModifier { @Query private var books: [Book] @State private var manager: ReadingManager func body(content: Content) -> some View { content .environment(.readingManager, manager) .onChange(of: books) { manager.receive(books: books) } } } Inside another component, you can read the manager with: @Environment(.readingManager) private var manger: ReadingManager
Topic: App & System Services SubTopic: iCloud Tags:
Replies
Boosts
Views
Activity
Mar ’26
Reply to Best practice for centralizing SwiftData query logic and actions in an @Observable manager?
I am so late to this that I don't know whether it's useful, but the approach I take is having an observable as you did, but rather than trying to query there, just include a receive(books: [Book]) function that takes the query results from the SwiftUI view with the query and updates the @State var books: [Book] = [] state in the observable. You can feed the results from that view into the observable whenever something changes. You could also take it a step further and create a custom modifier that runs the query, passes it into the observable, then binds the observable into the environment. If anyone is interested in the approach, let me know and I can put together some sample code for it.
Topic: App & System Services SubTopic: iCloud Tags:
Replies
Boosts
Views
Activity
Mar ’26
RealityView AR - anchored to the screen not the floor
This started out as a plea for help, but in preparing this post I discovered the root cause. I'm posting it as a lesson learned in hopes it will help someone. I've spent a good chunk of March trying to get AR-mode working again in my unreleased game. I had it working with SceneKit and ARView 5 years ago, but since 2024 I've been converting the game to use RealityKit and RealityView on iOS, macOS, visionOS, and tvOS. I've been having no joy getting AR mode to work on iOS. I get the pass-through device video but the game content isn't anchored to the floor but rather anchored to the screen. I made a simple project with just a simple shape in the middle of a RealityView and an overlay with a SwiftUI toggle to go in and out of AR-mode. At first, my simple project worked, and I couldn't figure out what was different in the logic. Both projects used the same logic: func transitionToXR(_ content: inout RealityViewCameraContent) { content.remove(gameBoard.rootEntity) content.add(xrAnchor) content.camera = .s
Replies
5
Boosts
0
Views
381
Activity
Mar ’26
Reply to App Clips not working
Thanks for the post, in this page you'll find a sample for AppClips as well as the first note will provide you the 101 of App Clips. I always recommend developers to go over all those videos and documentation liked on that note. Then download the app, look at every single configuration from that app including the Clip target! https://developer.apple.com/documentation/appclip/fruta-building-a-feature-rich-app-with-swiftui In my opinion and without going deep in your solution, the reason your AASA endpoint is never getting called when you scan the QR code is due to a common misconception about how iOS handles App Clips and Universal Links, the iOS device does not fetch the AASA file at the moment you scan a QR code. Downloads the file at app installation time and there is also a delay. When you scan a QR code, iOS checks its local cache and Apple's CDN records to see if that URL is registered to an App Clip. If Apple's CDN hasn't validated your AASA file, or if the TestFlight configuration is incomplet
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Mar ’26
Reply to Fatal error on rollback after delete
I managed to create a minimal repro example: import SwiftData import SwiftUI @Model final class ParentModel { var name: String @Relationship(deleteRule: .cascade, inverse: ChildModel1.parent) var children: [ChildModel1]? @Relationship(deleteRule: .cascade, inverse: ChildModel2.parent) var children2: [ChildModel2]? init(name: String) { self.name = name } } @Model final class ChildModel1 { var name: String @Relationship(deleteRule: .nullify) var parent: ParentModel? init(name: String) { self.name = name } } @Model final class ChildModel2 { var name: String @Relationship(deleteRule: .nullify) var parent: ParentModel? init(name: String) { self.name = name } } struct ContentView: View { @Environment(.modelContext) private var modelContext var body: some View { List { Button(Create parent with children) { createParentWithChildren() } Button(Delete) { delete() } } } func createParentWithChildren() { let parent = ParentModel(name: Parent) let child1 = ChildModel1(name: Child 1) let child2 = ChildModel2(name:
Topic: App & System Services SubTopic: iCloud Tags:
Replies
Boosts
Views
Activity
Mar ’26
Charts performance issue
Hi, I want to recreate a chart from Apple Health and I have code like this. When I scroll - especially the week and month charts, there are performance issues. If I remove .chartScrollPosition(x: $scrollChartPosition), it runs smoothly, but I need to know which part of the chart is currently displayed. Can you help me? import Charts import SwiftUI struct MacroChartView: View { var selectedRange: ChartRange var binnedPoints: [MacroBinPoint] @State private var scrollChartPosition: Date = .now var body: some View { VStack { Text((selectedRange.rangeLabel(for: scrollChartPosition))) Chart(binnedPoints) { point in BarMark( x: .value(Date, point.date, unit: selectedRange.binComponent), y: .value(Calories, point.calories) ) } .frame(height: 324) .chartXVisibleDomain(length: selectedRange.visibleDomainLength()) .chartScrollableAxes(.horizontal) .chartScrollPosition(x: $scrollChartPosition) .chartScrollTargetBehavior(.valueAligned(matching: selectedRange.scrollAlignmentComponents)) .chartXAxis { switch select
Replies
2
Boosts
0
Views
557
Activity
Mar ’26