2017-11-18 172 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会得到三次命中,它会返回随机值,所以我不能使用你的 –