Extension Optional

2016-02-13  本文已影响139人  V_coa

如果extension的对象是String?

Paste_Image.png

这样会报错,因为我们extension的是String,而String?是一个enum。extension的对象不对。

Paste_Image.png
如果想调用test(),必须要通过
str?.test() str!.test()
但是如果想用上面的方式调用的,可以把extension写成这样:
因为String,遵循StringLiteralConvertible协议
extension Optional where Wrapped: StringLiteralConvertible { func test() { } }
上一篇 下一篇

猜你喜欢

热点阅读