Я работаю над текстовой приключенческой игрой с использованием Swift.Тем не менее, я не могу изменить значения по умолчанию для определенных классов.
Ниже приведен код класса, который позволяет мне выбрать класс моего игрока
import UIKit
class ClassSelectionController: UIViewController
{
//Default class values
var character = (0, 0, "", 0)
override func viewDidLoad()
{
super.viewDidLoad()
// Do any additional setup after loading the view.
}
//class button actions
@IBAction func fighterBtn(_ sender: Any)
{
character = (50, 60, "Steal Sword", 18)
performSegue(withIdentifier: "Character", sender: self)
}
@IBAction func wizerdBtn(_ sender: Any)
{
character = (25, 70, "Staff", 15)
performSegue(withIdentifier: "Character", sender: self)
}
@IBAction func thiefBtn(_ sender: Any)
{
character = (30, 60, "Dagger", 18)
performSegue(withIdentifier: "Character", sender: self)
}
@IBAction func archerBtn(_ sender: Any)
{
character = (50, 60, "Bow & Arrow", 16)
performSegue(withIdentifier: "Character", sender: self)
}
override func prepare(for segue: UIStoryboardSegue, sender: (Any)?)
{
//code for segue
var vc = segue.destination as! ViewController
vc.finalCharacter = self.character
}
}
И это класс, который получает данные для класса игрока и отображает их.
import UIKit
class ViewController: UIViewController
{
var finalCharacter = (0, 0, "", 0)
//****************************************
//Setup for outlets go between these lines
//****************************************
@IBOutlet weak var healthLabel: UILabel!
@IBOutlet weak var damageLabel: UILabel!
@IBOutlet weak var weaponLabel: UILabel!
@IBOutlet weak var armorLabel: UILabel!
@IBOutlet weak var storyLabel: UILabel!
@IBOutlet weak var actionButton: UIButton!
@IBOutlet weak var northBtn: UIButton!
@IBOutlet weak var southBtn: UIButton!
@IBOutlet weak var eastBtn: UIButton!
@IBOutlet weak var westBtn: UIButton!
//****************************************
//Setup for outlets go between these lines
//****************************************
override func viewDidLoad()
{
super.viewDidLoad()
// Do any additional setup after loading the view.
healthLabel.text = "Health: \(finalCharacter.0)"
damageLabel.text = "Damage: \(finalCharacter.1)"
weaponLabel.text = "Weapon: " + finalCharacter.2
armorLabel.text = "Armor : \(finalCharacter.3)"
}
//****************************************
//Setup for buttons go between these lines
//****************************************
@IBAction func actionButton(_ sender: Any)
{
}
@IBAction func northButton(_ sender: Any)
{
}
@IBAction func southButton(_ sender: Any)
{
}
@IBAction func eastButton(_ sender: Any)
{
}
@IBAction func westButton(_ sender: Any)
{
}
//****************************************
//Setup for buttons go between these lines
//****************************************
}
Несмотря на то, что мой код в настоящее время не показывает его, я поместил значения печати в кнопки класса просто для того, чтобы посмотреть, изменились ли значения при выборе класса, и я увидел, что они меняются, когдакнопка нажата.Я также просмотрел ViewController и изменил значения finalCharacter, просто чтобы посмотреть, повлияло ли это на что-то, чего не произошло.Таким образом, мое обоснованное предположение состоит в том, что проблема должна быть в ClassSelectionController.
Поэтому основная проблема заключается в том, что я нажму на класс игрока-мастера, и я ожидаю, что появится статистика классов для мастера (Т.е. 25, 70, "Staff", 15), но я получу только значения по умолчанию, которые есть в ClassSelectionController (0, 0, "", 0).