Post

Replies

Boosts

Views

Activity

How to tap a row in a UIPickerView
I am trying to get the value of a tapered row in a UIPickerView but every time I scroll through it, it gives me every value I go through. How can I get the value of when the user taps the row? I am trying to append the value that the user clicks on to an array called squaresTaken. func numberOfComponents(in pickerView: UIPickerView) -> Int {         return 1     }     func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {         pickerData.count     }     func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {         intToString()         return pickerData[row]     }     func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {         squaresTaken.append(Int(pickerData[row])!)         yourSquare.text = pickerData[row]     }
2
0
1.4k
Sep ’21
How to save the state of a Switch
How do I save the state of the switch. I have a switch in a custom cell. I have a class for the custom cell. I am trying to save it from a view controller. class Settings_Custom_Cell: UITableViewCell {     @IBOutlet weak var settingLabel: UILabel!     @IBOutlet weak var quickAddSwitch: UISwitch! } class SettingsCell {     var settingLabel: String     var settingValue: UISwitch          init(settingLabel: String, settingValue: UISwitch) {         self.settingLabel = settingLabel         self.settingValue = settingValue     } } import UIKit class Settings: UIViewController, UITableViewDelegate, UITableViewDataSource {          var array: [String] = ["Quick Add"]          func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {         return array.count     }          func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {         let cell = table.dequeueReusableCell(withIdentifier: "cell", for: indexPath as IndexPath)         cell.textLabel?.text = ""         cell.textLabel?.text = array[indexPath.row]         cell.textLabel?.numberOfLines = 0         cell.textLabel?.lineBreakMode = NSLineBreakMode.byWordWrapping         cell.textLabel?.font = UIFont.systemFont(ofSize: 20)                  return cell     }          @IBOutlet weak var table: UITableView!          override func viewDidLoad() {         super.viewDidLoad()     }      }
10
0
1.9k
Sep ’21
Read in csv file and insert data into Class object
How do I read in a csv file and input the data into a class? Here is my class object code class PlayerData: Codable {     var num: Int = 0     var numPosPick: Int = 0     var numRookie: Int = 0     var name: String = ""     var team: String = ""     var position: String = ""     var byeWeek: Int = 0          var rosterPosition: Int = -1     var draftPosition: Int = -1     var isTopPlayer: Bool     var isRookie: Bool          var isRostered: Bool { return rosterPosition >= 0 }     var isDrafted: Bool { return draftPosition >= 0 }          init(num: Int, numPosPick: Int, numRookie: Int, name: String, team: String, position: String, byeWeek: Int, isTopPlayer: Bool, isRookie: Bool) {         self.num = num         self.numPosPick = numPosPick         self.numRookie = numRookie         self.name = name         self.team = team         self.position = position         self.byeWeek = byeWeek                  self.isTopPlayer = isTopPlayer         self.isRookie = isRookie     } } Here is what I want it to look like but I want it to be inserted from the csv file. allPlayers = [             PlayerData(num: 1, numPosPick: 1, numRookie: 0, name: "Christian McCaffrey", team: "CAR", position: "RB", byeWeek: 13, isTopPlayer: true, isRookie: false),             PlayerData(num: 2, numPosPick: 2, numRookie: 0, name: "Dalvin Cook", team: "MIN", position: "RB", byeWeek: 7, isTopPlayer: true, isRookie: false),             PlayerData(num: 3, numPosPick: 3, numRookie: 0, name: "Saquon Barkley", team: "NYG", position: "RB", byeWeek: 10, isTopPlayer: true, isRookie: false),             PlayerData(num: 4, numPosPick: 4, numRookie: 0, name: "Derrick Henry", team: "TEN", position: "RB", byeWeek: 13, isTopPlayer: true, isRookie: false),             PlayerData(num: 5, numPosPick: 1, numRookie: 0, name: "Tyreek Hill", team: "KC", position: "WR", byeWeek: 12, isTopPlayer: true, isRookie: false) ] Here is the csv file fantasy_2021.csv
1
0
664
Jun ’21
How do I pass data to another view controller in Swift 4?
Xcode, Swift 4How do I pass data to another view controller in Swift 4?Below is my code and I am getting an error message.I am getting an error on line 181. It saysCannot assign value of type 'DataToPass' to type 'ViewController'struct DataToPass { var principal: Double = 0 var balance: Double = 0 var monthlyInterest: Double = 0 var paymentNumber: Int = 0 } class ViewController: UIViewController, UITextFieldDelegate, UITextViewDelegate { var valueToPass: DataToPass = DataToPass(principal: 0.00, balance: 0.00, monthlyInterest: 0.00, paymentNumber: 0) // Class-level constant to hold the months per year. let dblMONTHS_YEAR: Double = 12 // To not allow more than 1 decimal point. func textField(_ textField: UITextField,shouldChangeCharactersIn range: NSRange,replacementString string: String) -> Bool { let countdots = (textField.text?.components(separatedBy: ".").count)! - 1 if countdots > 0 && string == "." { return false } return true } @IBAction func textFieldCost(_ sender: TextField) { func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { self.view.endEditing(true) } } @IBAction func textFieldDownPayment(_ sender: TextField) { func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { self.view.endEditing(true) } } @IBAction func textFieldMonths(_ sender: TextField) { func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { self.view.endEditing(true) } } @IBAction func textFieldAPR(_ sender: TextField) { func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { self.view.endEditing(true) } } @IBOutlet weak var txtViewLabels: UITextView! @IBOutlet weak var txtViewResults: UITextView! // Text Field Outlets. @IBOutlet weak var txtCost: UITextField! @IBOutlet weak var txtDownPayment: UITextField! @IBOutlet weak var txtMonths: UITextField! @IBOutlet weak var txtAPR: UITextField! // Error Message. @IBOutlet weak var lblMessage: UILabel! // Buttons @IBAction func btnCalculate(_ sender: UIButton) { var dblAPR: Double = 0 // To hold the Annual Rate. var dblTotalAmount: Double = 0 // To hold the vehicle total cost. var dblCost: Double = 0 // To hold vehicle cost. var dblDownPayment: Double = 0 // To hold down payment. var intMonths: Int = 0 // To hold number of months for the loan. var dblLoan: Double = 0 // To hold the amount of the loan. var dblMonthlyPayment: Double = 0 // To hold the monthly payment. var dblTotalInterest: Double = 0 // To hold the total interest. var dblMonthlyRate: Double = 0 // To hold the monthly Rate. var monthlyInterest: Double = 0 var balance: Double = 0 var principal: Double = 0 var paymentNumber: Int = 0 var data: [String] = [] func passedValue() { func paymentStructure() { data = [] balance = dblLoan for _ in 1...intMonths { paymentNumber+=1 dblCost = Double(txtCost.text!)! dblDownPayment = Double(txtDownPayment.text!)! intMonths = Int(txtMonths.text!)! dblAPR = Double(txtAPR.text!)! monthlyInterest = balance * ((dblAPR/100)/12) principal = dblMonthlyPayment - monthlyInterest balance = balance - principal let fPrincipal = NSNumber(value: principal) let fResultPrincipal = NumberFormatter.localizedString(from: fPrincipal, number: .currency) let fBalance = NSNumber(value: balance) let fResultBalance = NumberFormatter.localizedString(from: fBalance, number: .currency) let fMonthlyInterest = NSNumber(value: monthlyInterest) let fResultMonthlyInterest = NumberFormatter.localizedString(from: fMonthlyInterest, number: .currency) data += ["\(paymentNumber). P: \(fResultPrincipal), I: \(fResultMonthlyInterest), B: \(fResultBalance)"] } valueToPass.paymentNumber = intMonths valueToPass.monthlyInterest = monthlyInterest valueToPass.principal = principal valueToPass.balance = balance } } else if txtCost.text != nil && txtDownPayment.text != nil && txtMonths.text != nil && txtAPR.text != nil { // Clear the message. lblMessage.text = "" dblCost = Double(txtCost.text!)! dblDownPayment = Double(txtDownPayment.text!)! intMonths = Int(txtMonths.text!)! dblAPR = Double(txtAPR.text!)! // Get the APR rate. dblAPR = dblAPR / 100 // Get the monthly rate. dblMonthlyRate = dblAPR / dblMONTHS_YEAR // Get the monthly payment. dblMonthlyPayment = (dblCost - dblDownPayment) * (dblMonthlyRate / (1 - pow(1 + dblMonthlyRate, Double(-intMonths)))) // Get the amount of the loan. dblLoan = dblCost - dblDownPayment // Get the total interest. dblTotalInterest = dblMonthlyPayment * Double(intMonths) - dblLoan // Get the Total Amount. dblTotalAmount = dblCost + dblTotalInterest // Get the Vehicle Cost. dblCost = dblTotalAmount - dblTotalInterest // Format the results. let fCost = NSNumber(value: dblCost) let fResultCost = NumberFormatter.localizedString(from: fCost, number: .currency) let fDownPayment = NSNumber(value: dblDownPayment) let fResultDownPayment = NumberFormatter.localizedString(from: fDownPayment, number: .currency) let fLoan = NSNumber(value: dblLoan) let fResultLoan = NumberFormatter.localizedString(from: fLoan, number: .currency) let fMonthlyPayment = NSNumber(value: dblMonthlyPayment) let fResultMonthkyPayment = NumberFormatter.localizedString(from: fMonthlyPayment, number: .currency) let fAPR = NSNumber(value: dblAPR) let fResultAPR = NumberFormatter.localizedString(from: fAPR, number: .percent) let fTotalInterest = NSNumber(value: dblTotalInterest) let fResultTotalInterest = NumberFormatter.localizedString(from: fTotalInterest, number: .currency) let fTotalAmount = NSNumber(value: dblTotalAmount) let fResultTotalAmount = NumberFormatter.localizedString(from: fTotalAmount, number: .currency) txtViewLabels.text = " APR:\n Months: \n Cost:\n Down Payment:\n Loan Amount:\n Monthly Payment:\n Total Interest:\n Total Amo txtViewResults.text = " \(fResultAPR)\n \(intMonths)\n \(fResultCost)\n \(fResultDownPayment)\n \(fResultLoan)\n \(fResultMonthkyPayment)\n \(fResultTotalInterest)\n \(fResultTotalAmount)" passedValue() } } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "payout structure" { if let destVC = segue.destination as? PayoutStructure { destVC.passedData = valueToPass } } } }
8
0
3.1k
Jan ’19