【发布时间】:2017-05-27 18:03:10
【问题描述】:
在下面的代码中,我无法使用 performActivity 方法来增加角色的幸福感。因为 'need' 以字符串的形式出现,其值为“happiness”,而我需要对作为类实例的“happiness”进行更改。如有任何帮助,我将不胜感激!
// Character Needs Class
class CharNeeds {
var currentNeedValue : Int = 0
func changeNeedValue (changeBy : Int){
currentNeedValue += changeBy
}
}
// Activities Class
class Activities{
let activityName : String
var effects = [String: Int]()
//Initializers
init(activityName: String, effects: [String: Int]){
self.activityName = "Unnamed Activity"
self.effects = effects
}
//Methods
static func performActivity(activityName : Activities){
for (need, effect) in activityName.effects {
need.changeNeedValue(changeBy: effect)
}
}
}
//Testing
var happiness = CharNeeds()
var cycling = Activities(activityName: "cycling", effects: ["happiness":10])
Activities.performActivity(activityName: cycling)
【问题讨论】:
标签: swift methods swift3 ios10