我需要为一个值检查一系列数组,然后如果该值在范围内,则为每个通过检查的数组附加一个字符串数组。例如,在下面的代码中,我想最终得到" First Array"被附加到lensLibrary,因为它包含spherePower。
如何将字符串与每个数组相关联,以用作显示给用户的名称?我尝试了一个开关,为每个作为参数传递的数组使用不同的大小写,但是失败了,if语句也是如此。
let arrayA : [Float] = [1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0] // "First Aray"
let arrayB : [Float] = [5.5,6.0,6.5,7.0,7.5,8.0,8.5,9.0,9.5] // "Second Array"
var lensLibrary : [String] = []
func arrayContains(array: [Float], powerD : Float) {
var lensName : String!
if array.minElement() < powerD && powerD < array.maxElement() {
lensLibrary.append( /* Name of Array that was checked */ )
}
override func viewDidLoad() {
super.viewDidLoad()
spherePower = 4.5
// Check if spherePower is in each array, and add the name of the array to lensLibrary if it is present
arrayContains(arrayA, powerD: spherePower)
arrayContains(arrayB, powerD: spherePower)
}
答案 0 :(得分:1)
我要做的是从[String : [Float]]
字典开始。字符串键是名称; [Float]
是浮点数组。你的词典有两个条目。根本不再有arrayA
和arrayB
;只是字典。在viewDidLoad
中,循环遍历字典的键值对。对于每个键值对,如果值(数组)包含要搜索的功率,请将键放入名称数组中。