I am using Xcode 16 and am doing a future app with SwiftData.
I have the data in a List. When I try to delete a row, it deletes and seems to save the deletion. But when I list the data again, what I deleted comes back.
Here's the code:
{
for index in indexSet {
let chat = chatLog[index]
modelContext.delete(chat)
// do {
// try modelContext.save()
//
// } catch {
//
// print("Error saving: \(error)")
//
// }
}
}
CHAT: Is a variable to hold the data.
CHATLOG: The variable in the List.
Thank you.
Dan Uff
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi,
The launchscreen section in Xcode 16 RC keeps disappearing no matter what. Is anyone else seeing this issue?
I submitted a bug report over a week ago about this problem.
Dan Uff
Okay, I give up.
I am making a Flash card game where the app will randomize two numbers, then the user would enter the answer. The app will then tell the user if he/she is correct. But I cannot seem to figure out how to get it to add two numbers and check if the user's correct or not.
Any help is greatly appreciated!
Here's the code:
import UIKit
import AVFoundation
import Foundation
class YouSolveIt: UIViewController {
@IBOutlet var topProblem: UILabel!
@IBOutlet var botProblem: UILabel!
@IBOutlet var youAnswer: UITextField!
@IBOutlet var actualCard: UIImageView!
let speakit = AVSpeechSynthesizer()
var problem1 = Int(0)
var problem2 = Int(0)
var answer = 0
var ranA = 0
var ranB = 0
override func viewDidLoad() {
super.viewDidLoad()
// Load Flash Card image:
actualCard.image = UIImage(named: "FlashCard")
solveitproblem()
}
func solveitproblem()
{
let ranA = Int(arc4random_uniform(UInt32(9)))
let ranB = Int(arc4random_uniform(UInt32(9)))
topProblem.text = String(ranA)
botProblem.text = String(ranB)
youAnswer.text = String(answer)
let speakProblem = AVSpeechUtterance(string: "What is \(topProblem.text! + ", plus ," + botProblem.text!)")
speakit.speak(speakProblem)
}
@IBAction func btncheckAnswer(_ sender: Any)
{
if (ranA) + (ranB) == answer
{
correctAnswer()
}
else {
wrongAnswer()
}
}
func correctAnswer()
{
let right = [1,2,3,4,5]
let randomIndex = Int(arc4random_uniform(UInt32(right.count)))
switch(randomIndex)
{
case 1:
let speakRight = AVSpeechUtterance(string: "That is correct")
speakit.speak(speakRight)
youAnswer.text = ""
solveitproblem()
case 2:
let speakRight = AVSpeechUtterance(string: "You're right!")
speakit.speak(speakRight)
youAnswer.text = ""
solveitproblem()
case 3:
let speakRight = AVSpeechUtterance(string: "Correct! Let's try.")
speakit.speak(speakRight)
youAnswer.text = ""
solveitproblem()
case 4:
let speakRight = AVSpeechUtterance(string: "You are right! Next Try.")
speakit.speak(speakRight)
youAnswer.text = ""
solveitproblem()
case 5:
let speakRight = AVSpeechUtterance(string: "Great answer!")
speakit.speak(speakRight)
youAnswer.text = ""
solveitproblem()
default:
let speakRight = AVSpeechUtterance(string: "Very good!")
speakit.speak(speakRight)
youAnswer.text = ""
solveitproblem()
}
}
func wrongAnswer()
{
let wrong = [1,2,3,4,5]
let randomIndex = Int(arc4random_uniform(UInt32(wrong.count)))
switch(randomIndex)
{
case 1:
let speakRight = AVSpeechUtterance(string: "That is wrong")
speakit.speak(speakRight)
case 2:
let speakRight = AVSpeechUtterance(string: "You're wrong, please try again.")
speakit.speak(speakRight)
case 3:
let speakRight = AVSpeechUtterance(string: "No, that's not it. Please try again.")
speakit.speak(speakRight)
case 4:
let speakRight = AVSpeechUtterance(string: "No")
speakit.speak(speakRight)
default:
let speakRight = AVSpeechUtterance(string: "I'm sorry, no. Please try again.")
speakit.speak(speakRight)
}
}
}
I'm trying to display a share sheet and am using examples from the Internet but am getting the following warning:
"'windows' was deprecated in iOS 15.0: Use UIWindowScene.windows on a relevant window scene instead"
Here's the code I'm trying to use:
func shareButton()
{
let url = URL(string: introText)
let av = UIActivityViewController(activityItems: [url!], applicationActivities: nil)
UIApplication.shared.windows.first?.rootViewController?.present(av, animated: true, completion: nil)
}
Thanks,
Dan Uff
How would I take the output from JSON and print it to the IBOutlet's newsview? Thanks!
class ViewController: UIViewController {
@IBOutlet var newsview: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
// API Endpoint:
let urlString = "[string withheld]"
let url = URL(string: urlString)
guard url != nil else {
debugPrint("URL IS nil")
return
}
let session = URLSession.shared
let dataTask = session.dataTask(with: url!) { (data, response, error) in
if error == nil && data != nil {
let decoder = JSONDecoder()
do {
let newsFeed = try decoder.decode(NewsFeed.self, from: data!)
print("Result: \(newsFeed)")
// newsview.text = NewsFeed as? String!
} catch {
debugPrint("Error in JSON Parsing!")
}
}
}
dataTask.resume()
}
override func viewDidAppear(_ animated: Bool) {
}
I am unable to install the above beta on an 2018 iPad Pro. Downloaded directly from this web site.Any ideas?Dan Uff