Swift3 - 扩展类型Collection的问题

时间:2017-02-11 10:40:35

标签: arrays swift collections protocols swift-playground

美好的一天,

我试图了解Swift 3中的协议和扩展。

我试图通过可变函数将Collection扩展到例如治疗类型为Enemy的数组中的所有敌人。

以下是GIST示例:https://gist.github.com/flowinho/5985928f803d902b75fc69ee9ce26537

我仍然是通过扩展协议添加可变功能的领域的新手,所以我不明白为什么那个要点的LOC 75不会增加所有敌人的HP数量。

我做错了什么? 如何解决这个问题?

祝福,祝你有美好的一天,

Flowinho

1 个答案:

答案 0 :(得分:0)

这是因为struct是一个值类型,并在分配时创建一个副本。如果使用类而不是结构,则代码将起作用。或者您需要通过索引访问数组元素:

Form.Show