2017-11-18 10 views
-3

的我是新來的迅速,我有一個簡單的問題,看着對計算器的相關問題,他們都不在迅速4,所以我不得不問斯威夫特4:數組索引範圍

在這裏,我有一個數組,看起來像這樣的日誌

["72 Wilson St, Manchester M11 2AZ, UK"] // 0 
["Goldbergweg 117, 60599 Frankfurt am Main, Germany"] // 1 
["Rondweg Zuid, 3817 Amersfoort, Netherlands"] // 2 am i right? 

,我用這個代碼來獲取的元素在裏面:

var stringArray = [String]() 
stringArray.append(forss as! String) 
print(stringArray 
self.predit1.text = stringArray[2] 
self.predit2.text = stringArray[0] 
self.predit3.text = stringArray[1] 

但得到:

Thread 1: Fatal error: Index out of range

回答

2

你申報的String

var stringArray = [String]() 

數組然後你追加一個元素

stringArray.append(forss as! String) 

這意味着只有指數0是有效的

stringArray[0] 

,你會得到了超範圍的錯誤

stringArray[1] 
stringArray[2] 
etc. 

注:

問題不在於特別是與雨燕雨燕4表現出該性能的所有版本。

+0

OMG什麼是一個簡單的答案,非常感謝你 –

0

就我在第一個代碼塊中看到的,看起來你有3個數組,每個數組只有一個字符串元素。 數組初始化應該是這樣的:

let stringArray = [ 
    "72 Wilson St, Manchester M11 2AZ, UK", // 0 
    "Goldbergweg 117, 60599 Frankfurt am Main, Germany", // 1 
    "Rondweg Zuid, 3817 Amersfoort, Netherlands" // 2 
] 
+0

嗨,我無法發佈完整的代碼,但stringArray會得到三次命中,它會返回隨機值,所以我不能使用你的 –