首页 理论教育 switch绑定值实现

switch绑定值实现

时间:2023-06-23 理论教育 版权反馈
【摘要】:假设无论程序能否识别城市区号,都需要把实际的区号放进provinceName,那么可以利用Swift的值绑定特性在前面的switch语句的基础上做到这一点。这个常量或变量只能在该分支中使用,如动手写4.2.4:动手写4.2.4 CityCodeValueBinding控制台输出如下:这里把cityCode传入每个分支中的provinceName中。举个例子,如果cityCode的值等于451,那么switch语句会把provinceName设为“未知区号451”,因为unknownCode会把任何没有匹配上前面分支的值拿过来,所以也就不需要显式的默认分支了。

switch绑定值实现

假设无论程序能否识别城市区号,都需要把实际的区号放进provinceName,那么可以利用Swift的值绑定特性在前面的switch语句的基础上做到这一点。值绑定能在某个特定分支中把待匹配的值绑定到本地的常量或变量上。这个常量或变量只能在该分支中使用,如动手写4.2.4:

动手写4.2.4 CityCodeValueBinding

控制台输出如下:

这里把cityCode传入每个分支中的provinceName中。我们仔细看一下最后一个分支:当cityCode没有匹配上面的任何一个分支时,就创建了一个临时常量unknownCode,将其绑定为cityCode的值。举个例子,如果cityCode的值等于451,那么switch语句会把provinceName设为“未知区号451”,因为unknownCode会把任何没有匹配上前面分支的值拿过来,所以也就不需要显式的默认分支了。(www.xing528.com)

注意:这里用了常量,所以unknownCode的值是固定的。但如果因为某些原因需要对unknownCode做些处理,就可以使用var而不使用let来声明,这么做就可以在最后一个分支体中修改unknownCode的值。本例展示了值绑定的语法,其实标准的default分支就能得到同样的结果:把最后一个分支按照下面的代码替换为default分支,这样就能涵盖所有可能的值。

这里把cityCode传入每个分支中的provinceName中。我们仔细看一下最后一个分支:当cityCode没有匹配上面的任何一个分支时,就创建了一个临时常量unknownCode,将其绑定为cityCode的值。举个例子,如果cityCode的值等于451,那么switch语句会把provinceName设为“未知区号451”,因为unknownCode会把任何没有匹配上前面分支的值拿过来,所以也就不需要显式的默认分支了。

注意:这里用了常量,所以unknownCode的值是固定的。但如果因为某些原因需要对unknownCode做些处理,就可以使用var而不使用let来声明,这么做就可以在最后一个分支体中修改unknownCode的值。本例展示了值绑定的语法,其实标准的default分支就能得到同样的结果:把最后一个分支按照下面的代码替换为default分支,这样就能涵盖所有可能的值。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈