Post

Replies

Boosts

Views

Activity

Reply to fatal error: Index out of range...
What is golfDBdata? I don't see it declared in the code you showed. I assume it's an array. How many elements does it have? What is numDB? What is its value? The error message is telling you that the value of numDB is greater than or equal to the number of elements in golfDBdata. Another potential problem you have is you are running the code asynchronously. You may be trying to access data before it's been fetched.
Oct ’23
Reply to Combining SwiftUI & SpriteKit
It shows a black screen because you passed an empty scene to the sprite view. SpriteView(scene:MapScene()) Calling MapScene() creates an empty scene. You must add a property to your view that holds the scene to show in the sprite view. Call newGameScene to initialize it. @State var mapScene = MapScene.newGameScene() I haven't tested that line of code so you may have to make some changes to get it to work. But it gives you an idea of what you need to do. Pass that property to the sprite view. SpriteView(scene: mapScene)
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Oct ’23
Reply to Combining SwiftUI & SpriteKit
Create a subclass of SKScene for your SpriteKit scene and use that class to write the code to interact with the scene. Interact with the scene by overriding the touch functions on iOS and the mouse functions on Mac. On iOS you must override touchesBegan. You may also need to override touchesMoved and touchesEnded. On Mac you must override mouseDown. You may also need to override mouseDragged and mouseUp.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Oct ’23
Reply to SwiftData Component
Your decks property is an array of type Deck, not a single deck. An array of Deck does not have a name, therefore the following line of code won't work: Text(decks.name) You need to show the name of a single deck in the Text label. If you want to show the names of all the decks, create a list and have a Text label for each item in the list. List(decks) { deck in Text(deck.name) }
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Oct ’23
Reply to List not updated after adding a new item
You have posted a lot of code, but there is one important piece of code missing. Your HistoryView has the following property that contains the history data: @StateObject var historyData1 = historyData() Your InvoiceView has the following property: @ObservedObject var historyData: historyData But I do not see any code on how you set the InvoiceView's historyData value. Is the value of historyData supposed to be the same as HistoryView's historyData1 property? I think you have a better chance of getting an answer if you post a new question and strip out most of the code. The problem you have is the list isn't updating when you add a new item to it. Show the code that deals with adding the items to the list and strip out the other stuff. You have posted so much code that has nothing to do with the problem, and that makes it hard for people reading the question to see the code they need to answer your question. I also recommend coming up with better names for some of your data structures and variables. You have a struct named HistoryData and a class named historyData. That is confusing because the only difference in the names is making the H in History uppercase or lowercase. You have a variable named historyData and another one named historyData1. I know it can be hard to come up with good variable names, but your code will be easier for people to read if you give your data structures and variables less confusing names.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Sep ’23
Reply to Getting Xcode to create an app bundle
I have not developed an iOS app in C++ so I can't give you a specific solution. I know that you need an App target to build an app bundle. When adding the App target in Xcode, choose Objective-C from the Language menu instead of Swift. Objective-C works better with C++ than Swift does. You have to add the C++ files to the App target to get them to build. Open Xcode's file inspector by choosing View > Inspectors > File. The file inspector has a Target Membership section. Make sure the checkbox is selected for the App target. One other thing you might have to do is change the extension of the Objective-C files to .mm to make them Objective-C++ files.
Sep ’23
Reply to Multiplatform development questions
Answers to the specific questions. If you use SwiftUI, you might be able to have just one version of the code with a multiplatform app target. But there is a good chance you will need to build separate iOS and Mac user interface code in some places to provide the best experience on both platforms. SwiftData works on Mac, but it requires macOS 14, which is not out yet. I have not used RevenueCat, but you have to ask yourself if you want people who buy a subscription to get both versions with the subscription. If so, you can have one subscription that works on both platforms. If not, you need separate subscriptions. Renaming, moving, and deleting list items has a lot of differences. If your app does those things, you will need to create separate list code for iOS and Mac. Stick with one Xcode project. Either use the multiplatform app target or create separate targets for iOS and Mac. The following article has more information about multiplatform app targets: https://www.swiftdevjournal.com/xcode-multiplatform-app-targets/
Sep ’23
Reply to A stored property cannot be named 'description'
You can't name a Core Data attribute description because it conflicts with a method in the NSObject class. Currently SwiftData uses Core Data under the hood so the limitation also applies in SwiftData. See the following Stack Overflow question for more details: https://stackoverflow.com/questions/4717519/why-cant-i-use-description-as-an-attribute-name-for-a-core-data-entity Name your attribute something other than description.
Sep ’23
Reply to CoreData / SwiftUI List selection question
The sample code is able to pass an optional managed object type Trip? to hold the selection rather than the ID type. When I try to replicate that behavior, I can't. Show the code you tried that didn't work. What is the problem you have with the code you tried? Do you get a build error? If so, what is the error? Do you get unexpected selection behavior? If so, state what you expect to see and what you see with the code you changed.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Sep ’23
Reply to IOS Version Incompatible with Xcode version, Looking for official Solution.
Xcode does not support devices running a newer version of iOS than the SDK version that comes with the particular version of Xcode. Xcode 14.2 comes with the iOS SDK 16.2. You won't be able to run your project on a device running anything newer than 16.2. If you can't update Xcode, you will have to download the iOS 16.6 support files and copy them to your Xcode bundle. More details are in the following article: https://www.swiftdevjournal.com/dealing-with-failed-to-prepare-device-for-development-error-message-in-xcode/ I also recommend turning off automatic updates on your iOS device. Every time your device updates, Xcode will stop working, and you will have to repeat the cycle of installing support files.
Aug ’23