在Swift中使用AnyObject的下标运算符

时间:2017-03-30 18:20:57

标签: swift subscript anyobject

我观察到可以在Swift中使用带有AnyObject实例的下标运算符。例如:

let x: AnyObject = NSDictionary()

print(type(of: x["y"]))

此代码生成以下输出:

  

ImplicitlyUnwrappedOptional<Optional<Any>>

第一部分是有道理的,因为在AnyObject的实例上调用任何方法都是defined,就像隐式展开的可选项一样。输出的其余部分表明下标运算符本身被定义为返回Optional<Any>,这也是有意义的,因为它与字典实例的下标行为相似。

我认为这是设计的,但我还没有能够验证它。有谁知道AnyObject的下标运算符的行为是否记录在任何地方?

0 个答案:

没有答案