indexOf在Swift中使用数组

时间:2016-07-04 16:21:23

标签: swift

我有一个数组:

var swiftBlogs:[Message] = [Message]()

我想找一些对象的索引号。我尝试了以下代码:

let mm=Message()
swiftBlogs.indexOf(mm)

但我收到了编译错误:

Cannot convert value of type 'Message' to expected argument type '@noescape (Message) throws -> Bool'

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

class Message {
    var id: Int
    init(id: Int) {
        self.id = id
    }
}

var arr: [Message] = []
arr.append(Message(id: 1))
arr.append(Message(id: 2))
arr.append(Message(id: 3))
print(arr.indexOf { $0.id == 2 }) // Optional(1)

检查声明!!

  

.indexOf(谓词:(消息)抛出 - > Bool)

答案 1 :(得分:0)

对于Swift 3来说:

myArray.index{$0 === myMessage}

它返回一个Optional。