0
我正在用swift練習我的數組結構。EXC_BAD_INSTRUCTION(code = EXC_I386_INVOP,sub code = 0x0)。在製作數據結構時出錯
我做了一個類 「學生」
,並有像顯示功能()和delete()
但是,應用程序無法正常工作。
有一個錯誤消息
EXC_BAD_INSTRUCTION(代碼= EXC_I386_INVOP,子代碼=爲0x0)。
我認爲這個錯誤是關於 「可選」 的問題。
這是我的代碼。
class student
{
var studentArray = [[String]?]()
var numberOfStudents : Int = 10;
func display()
{
for (var i = 0; i < numberOfStudents ; i++)
{
print("{");
for (var j = 0; j < 2; j++)
{
print(studentArray[i]![j] + " ");
}
print("}");
}
}
func delete(value : String)
{
var i = 0
for (i = 0; i < numberOfStudents ; i++)
{
if (value == studentArray[i]![1])
{
break;
}
}
if (i == numberOfStudents - 1)
{
print("not found");
}
else
{
for (var k = i; k < numberOfStudents - 1 ; k++)
{
studentArray[k]![1] = studentArray[k+1]![1];
studentArray[k]![0] = studentArray[k+1]![0];
}
numberOfStudents--;
}
}
}
var hello = student()
hello.studentArray = [["0","0ee"],["9","9ee", ]]
hello.display() // I have a error at this point
hello.studentArray
任何人都可以解釋什麼是對我來說?
有在你的代碼的幾個誤區。實際的錯誤是由你的'numberOfStudents'變量引起的,該變量被硬編碼爲10,即使該數組只包含2個元素。在'for'循環中使用'studentArray.count',而不是10.然後閱讀Swift手冊。在本例中,您不應該使用可選項或C樣式循環。 – Grimxn