我是Swift的新手,我在使用一系列对象时遇到了问题。
Optional(40)
Optional(40)
Optional(40)
etc......
我真的不知道这里有什么不对,但我的结果总是40而不是0到40:
<!DOCTYPE html>
<html>
<body>
<p align="right"> Dance Number: <input type="number"size="3"></p>
<h1><ins>Judge 1</ins></h1>
<p> Comments</p>
<textarea name="myTextBox" cols="50" rows="5">
</textarea>
<br />
<form>
<p> Technique: <input type="number" min="0" max="35"> /35</p>
<p> Choreography: <input type="number" min="0" max="15"> /15</p>
<p> Performance: <input type="number" min="0" max="25"> /25</p>
<p> Precision: <input type="number" min="0" max="15"> /15</p>
<p> Total Points: <input type="number" min="0" max="90"> /90</p>
<h1><ins>Judge 2</ins></h1>
<p> Comments</p>
<textarea name="myTextBox" cols="50" rows="5">
</textarea>
<br />
</form>
<form>
<p> Technique: <input type="number" min="0" max="35"> /35</p>
<p> Choreography: <input type="number" min="0" max="15"> /15</p>
<p> Performance: <input type="number" min="0" max="25"> /25</p>
<p> Precision: <input type="number" min="0" max="15"> /15</p>
<p> Total Points: <input type="number" min="0" max="90"> /90</p>
<h1><ins>Judge 3</ins></h1>
<p> Comments</p>
<textarea name="myTextBox" cols="50" rows="5">
</textarea>
<br />
</form>
<form>
<p> Technique: <input type="number" min="0" max="35"> /35</p>
<p> Choreography: <input type="number" min="0" max="15"> /15</p>
<p> Performance: <input type="number" min="0" max="25"> /25</p>
<p> Precision: <input type="number" min="0" max="15"> /15</p>
<p> Total Points: <input type="number" min="0" max="90"> /90</p>
<p> Over All Score: <input type="number" min="0" max="90"> /90</p>
<p> Award Assigned:</p>
<input type="submit" />
</form>
<script>
</script>
</body>
</html>
有谁知道如何解决这个问题?几乎看起来有点像一个bug。
答案 0 :(得分:3)
count:repeatedValue:initializer在数组的每个位置安装完全相同的对象。
因此,当您将array [0] .test更改为某个值时,您将更改存储在单个myClass实例中的值,该实例在数组的所有索引处共享。查看索引19,您会看到相同的myClass对象,其值已更改。
所以使用循环来初始化你的数组:
var array = [myClass]()
for (i in 1...20)
{
let anItem = myClass()
anItem.test = i
array.append(anItem)
}