!OC中声明宏可以这个亚子:

然后在swift中我们可能会声明成这个亚子:

但是呢,在swift中这样有个坑,就是当你使用过这个“宏”之后,它就不会变了,因为let是个常量,上面这个UIScreen.main.bounds.size.width事实上是会变的,比如在旋转屏幕之后,宽高的值是变反的。
有种情况,使用APP时,先旋转了设备,这个时候宽高就变反了,假如之后在其他地方使用,那就一直是反的!
所以呢,这种不能定义成let常量,应该写成方法:

!OC中声明宏可以这个亚子:
然后在swift中我们可能会声明成这个亚子:
但是呢,在swift中这样有个坑,就是当你使用过这个“宏”之后,它就不会变了,因为let是个常量,上面这个UIScreen.main.bounds.size.width事实上是会变的,比如在旋转屏幕之后,宽高的值是变反的。
有种情况,使用APP时,先旋转了设备,这个时候宽高就变反了,假如之后在其他地方使用,那就一直是反的!
所以呢,这种不能定义成let常量,应该写成方法:
本文标题:swift关于宏定义声明UIScreen.main.bounds
本文链接:https://www.haomeiwen.com/subject/jmxmhftx.html
网友评论