在OC里我经常会用到两个枚举属性一起当成参数传入方法里使用:
[label addObserver:selfforKeyPath:@"text"options:NSKeyValueObservingOptionNew |NSKeyValueObservingOptionOldcontext:nil];
但是在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里可以把类型前缀省略掉。
原文链接:https://www.f2er.com/swift/322780.html