在swift中获取数组索引

时间:2015-04-24 07:33:03

标签: ios arrays swift

这是我在Swift中为iOS应用程序编写的代码。

class Test {
    var name: String
    var sname: String

    init(name: String, sname: String) {
        self.name = name
        self.sname = sname
    }
}

class ArrTest {
    var arr = [Test]()
    init() {
        arr.append(Test(name: "test1", sname: "surname1"))
        arr.append(Test(name: "test2", sname: "surname2"))
        arr.append(Test(name: "test3", sname: "surname3"))
        arr.append(Test(name: "test4", sname: "surname4"))
    }

}

var x = ArrTest()
let obj = x.arr.filter { $0.name == "test1" }.first
println(obj?.sname)

我想得到索引而不是第一个数组对象的对象(在数组var中)。 " obj" x.arr.filter ...返回第一个对象。我需要正确对象的索引。

1 个答案:

答案 0 :(得分:0)

你可以简单地使用数组的方法find:

// This is pseudocode haven't tried it but should go along those lines.
var x = ArrTest()
var searchMe = Test("test1", "surname1");
let obj = find(x, searchMe);

为此,您需要实现Equatable协议,here您可以找到一个简单的教程。之后,查找应该适用于您的测试类。

let arr:Array = ["a","b","c"]
find(arr, "c")!              // 2
find(arr, "d")