Post

Replies

Boosts

Views

Activity

SwiftData: Unable to delete (Xcode 16)
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
4
2
1.1k
Jun ’24
Math Problem, entering an answer
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)   } } }
5
0
603
Apr ’21
Updated code for Sharesheet in iOS 15?
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
5
0
3.1k
Dec ’21
Show JSON output to screen?
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) { }
6
0
908
Jul ’21