如何从数组中快速获取对象索引

Joey Yi Zhao

我正在快速工作中创建一个类,作为一组协议的容器。下面是源代码。KeyValueObserverDelegate协议是KeyValueObserverServiceaddObserver()方法类中添加的问题发生在removeObserver()方法上,行是index = array.indexOf($0 == observer)

我收到一个错误:

闭包中不包含匿名闭包参数。

我不知道我班上怎么了。如何从数组中获取对象的索引?

class KeyValueObserverService{

    private var observerList:Dictionary<String, [KeyValueObserverDelegate]> = Dictionary()

    func addObserver(key:String, observer:KeyValueObserverDelegate){
        var array:Array<KeyValueObserverDelegate>?
        if observerList.keys.contains(key){
            array = observerList[key]
        } else {
            array = Array<KeyValueObserverDelegate>()
            self.observerList[key] = array
        }
        array?.append(observer)
    }

    func updateValueForKey(key:String, value:AnyObject?){
        let array = self.observerList[key];
        if array == nil{
            return
        }
        for  element in array!{
            element.valueChanged(value)
        }
    }

    func removeObserver(key:String, observer:KeyValueObserverDelegate){
        if self.observerList.keys.contains(key) == false{
            return
        }
        var array:[KeyValueObserverDelegate] = self.observerList[key]!;

        let index:Int?


        index = array.indexOf($0 == observer)

        array.removeAtIndex(index!)
    }
}

protocol KeyValueObserverDelegate :class{
    func valueChanged(value:AnyObject?)
}
瓦迪安

仔细阅读错误消息

...不包含在闭包中

根据定义,闭包封闭在一对花括号中

array.indexOf({$0 == observer})

或使用尾随闭包语法

array.indexOf{$0 == observer}

编辑:

由于Equatable默认情况下协议不符合要求,因此请使用身份运算符

array.indexOf{$0 === observer}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何快速从数组中获取对象

来自分类Dev

如何获取数组中的对象索引

来自分类Dev

如何获取此数组中对象的索引?

来自分类Dev

如何获取JSON数组中对象的索引?

来自分类Dev

如何快速获取字典中特定对象的索引

来自分类Dev

如何快速从numpy数组中获取特定索引?

来自分类Dev

如何快速获取数组中对象的唯一ID

来自分类Dev

如何快速获取数组中对象的唯一ID

来自分类Dev

如何使用angular获取数组中对象的索引?

来自分类Dev

快速从数组对象中获取特定值

来自分类Dev

如何快速从数组中的数组获取数据

来自分类Dev

如何获取对象内部数组元素的索引?

来自分类Dev

如何快速获取numpy数组中非零值的索引?

来自分类Dev

从python中的权重数组获取随机索引的快速方法

来自分类Dev

Linq代码从列表中的对象获取数组中对象的索引

来自分类Dev

获取嵌套对象数组中父对象的索引

来自分类Dev

如何快速找到多维数组中项目的索引?

来自分类Dev

Python-如何快速找到数组中多个向量的索引

来自分类Dev

如何连接到数组中的“索引”对象

来自分类Dev

如何快速从字符串的索引中获取特定字符

来自分类Dev

如何从Areablock的索引中获取对象?

来自分类Dev

如何获取NSMutablearray中特定对象的索引?

来自分类Dev

如何获取跨越对象中字符的索引?

来自分类Dev

如何从对象数组中获取关闭对象?

来自分类Dev

如何获取数组中项目的索引?

来自分类Dev

如何获取数组中索引的总和

来自分类Dev

如何从输入中获取@name 的数组索引?

来自分类Dev

如何获取具有匹配特定条件的属性值的数组中对象的索引?

来自分类Dev

如何获取数组的索引

Related 相关文章

热门标签

归档