У меня есть класс:Как изменить значение экземпляра без использования функции?
class WeaponItems {
var name: String
var index: Int
var price: Int
var weaponPower: Int = 0
var attackSpeed: Double = 0
var criticalChance: Double = 0
var criticalDamage: Double = 0
init(name: String, index: Int, price: Int){
self.name = name
self.index = index
self.price = price
}
var weaponBlade = WeaponItems(name: "Weapon Blade", index: 0, price: 300)
weaponBlade.weaponPower = 15
// Error: expected declaration
var swiftShooter = WeaponItems(name: "Swift Shooter", index: 1, price: 300)
swiftShooter.attackSpeed = 0.2
// Error: expected declaration
var minionsFoot = WeaponItems(name: "Minions Foot", index: 3, price: 300)
minionsFoot.criticalChance = 0.1
minionsFoot.criticalDamage = 0.1
// Error: expected declaration
}
Мне нужно установить weaponPower
attackSpeed
... для каждого пункта, я получил ошибку, делая это таким образом.
Я нашел ответы, в которых говорилось, что вам нужно использовать функцию для изменения значений экземпляров, но я чувствую, что этот код усложняет, как мне установить значение в противном случае?
Проблема, связанная с использованием функции, заключается в том, что она будет разделять процесс создания экземпляров и создания значений, что затрудняет сохранение кода.
Почему вы не просто продлить инициализации, чтобы включить все переменные? –
@ Z.Hung, как я должен это делать? –
@BrightFuture у вас уже есть имя, индекс и цена. Так что, возможно, добавьте остальные (например, оружие, атаку, критический удар и критический удар). Поэтому, когда вы объявляете var для оружия, вы можете включить все статистические данные в скобки –