It's very long, so I'm unable to post the portion from the model... If the mini-version I sent before is working, though, I may be able to just add bits until I find the problem :)
View controller:
import UIKit
class HorseSalesViewController: UIViewController {
@IBOutlet weak var timeOutlet: UILabel!
@IBOutlet weak var cashOutlet: UILabel!
@IBOutlet weak var saleConfirmOutlet: UILabel!
@IBOutlet weak var horsePriceOutlet: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
	 cashOutlet.text = "Cash: \(cash)"
timeOutlet.text = "Time: \(time)"
horsePriceOutlet.text = "Cost: \(foundationHorsePrice)"
}
let bayRandom = bayArray.randomElement()
let blackRandom = blackArray.randomElement()
let buckskinRandom = buckskinArray.randomElement()
let chestnutRandom = chestnutArray.randomElement()
let cremelloRandom = cremelloArray.randomElement()
let dunRandom = dunArray.randomElement()
let perlinoRandom = perlinoArray.randomElement()
let smokyBlackRandom = smokyBlackArray.randomElement()
let smokyCreamRandom = smokyCreamArray.randomElement()
let greyRandom = greyArray.randomElement()
let overoRandom = overoArray.randomElement()
let palominoRandom = palominoArray.randomElement()
let roanRandom = roanArray.randomElement()
let sabinoRandom = sabinoArray.randomElement()
let maxSabinoRandom = maxSabinoArray.randomElement()
let tobianoRandom = tobianoArray.randomElement()
let headMarkingsRandom = headMarkingsArray.randomElement()
let legMarkingsRandom = legMarkingsArray.randomElement()
let blankImage = imageLiteral(resourceName: "Blank image")
@IBAction func buyHorseButton(_ sender: UIButton) {
if cash > foundationHorsePrice {
cash -= foundationHorsePrice
saleConfirmOutlet.text = "Congratulations on your new horse!"
cashOutlet.text = "Cash:\(cash)"
myHorses.append(Horse(
//Base stats
name: "New Horse",
gender: ["Mare", "Stallion"][Int.random(in:0...1)],
age: Int.random(in:1...19),
focus: Int.random(in:10...100),
health: Int.random(in:1...100),
points: 0,
level: "Intro",
weight: Int.random(in:450...650),
reactivity: Int.random(in:1...100),
//Conformation
head: ["Poor", "Substandard", "Average", "Good", "Excellent"][Int.random(in:0...4)],
neck: ["Poor", "Substandard", "Average", "Good", "Excellent"][Int.random(in:0...4)],
back: ["Poor", "Substandard", "Average", "Good", "Excellent"][Int.random(in:0...4)],
legs: ["Poor", "Substandard", "Average", "Good", "Excellent"][Int.random(in:0...4)],
hindquarters: ["Poor", "Substandard", "Average", "Good", "Excellent"][Int.random(in:0...4)],
//Pedigree
sire: "Unknown",
dam: "Unknown",
//Training
rhythm: 0,
looseness: 0,
contact: 0,
impulsion: 0,
straightness: 0,
collection: 0,
//Genotype
ext: ["E", "e"][Int.random(in:0...1)]+["E", "e"][Int.random(in:0...1)],
ago: ["A", "a"][Int.random(in:0...1)]+["A", "a"][Int.random(in:0...1)],
gre: ["G", "g"][Int.random(in:0...1)]+["G", "g"][Int.random(in:0...1)],
cre: ["Cr", "cr"][Int.random(in:0...1)]+["Cr", "cr"][Int.random(in:0...1)],
dun: ["D", "nd2"][Int.random(in:0...1)]+["D", "nd2"][Int.random(in:0...1)],
tob: ["To", "to"][Int.random(in:0...1)]+["To", "to"][Int.random(in:0...1)],
sab: ["SB1", "sb1"][Int.random(in:0...1)]+["SB1", "sb1"][Int.random(in:0...1)],
roa: ["Rn", "rn"][Int.random(in:0...1)]+["Rn", "rn"][Int.random(in:0...1)],
//Phenotype
basePhenotype: chestnutRandom ?? imageLiteral(resourceName: "Blank image"),
roanPhenotype: roanRandom ?? imageLiteral(resourceName: "Blank image.png"),
greyPhenotype: imageLiteral(resourceName: "Blank image.png"),
tobianoPhenotype: imageLiteral(resourceName: "Blank image.png"),
sabinoPhenotype: imageLiteral(resourceName: "Blank image.png"),
whiteFacePhenotype: imageLiteral(resourceName: "Blank image.png"),
whiteLegsPhenotype: imageLiteral(resourceName: "Blank image.png"),
//Feed requirements
water: 100,
energy: 100,
protein: 100,
vitamins: 100,
minerals: 100,
chewingTime: 100))
}
if cash < foundationHorsePrice {
saleConfirmOutlet.text = "You don't have enough cash"
}
}