在OC里我经常会用到两个枚举属性一起当成参数传入方法里使用:
[label addObserver@H_404_10@:self@H_404_10@forKeyPath@H_404_10@:@"text"@H_404_10@options@H_404_10@:NSKeyValueObservingOptionNew@H_404_10@ |NSKeyValueObservingOptionOld@H_404_10@context@H_404_10@:nil@H_404_10@];
但是在Swift里这样写的话就会报错,原因并不是Swift不支持这样的使用,只是我们写错了语法:
label.addObserver(self,forKeyPath:"text",options: [NSKeyValueObservingOptions.new,NSKeyValueObservingOptions.old],context:nil)
或者label.addObserver(self,forKeyPath:"text",options: [.new,.old],context:nil)
在Swift里可以把类型前缀省略掉。