swift - 初始化 CGSize 的一个奇怪问题或错误
问题描述
我正在以 2 种不同的方式定义然后初始化一个可选的 CGSize 类型值,我希望在这两种情况下我都应该有一个可选的大小,但奇怪的是,即使在输入宽度和高度之后,在方式 1 中,该值仍然为零!我在这里错过了什么吗?
var value1: CGSize? = nil
value1?.width = 100.0
value1?.height = 100.0
print(value1) // print: nil
var value2: CGSize? = nil
value2 = CGSize(width: 100.0, height: 100.0)
print(value2) // print: Optional((100.0, 100.0))
解决方案
它正在做你告诉它做的事情。
您从不初始化值 1,因此您的可选链接失败。
如果您想设置宽度和高度并获得 CGSize,则需要对其进行初始化,然后设置其值:
var value3: CGSize? = nil
value3 = CGSize()
value3?.width = 100.0
value3?.height = 100.0
print(value3) //Optional((100.0, 100.0))
推荐阅读
- python-3.x - 缩放 seaborn heatmap .png 输出文件
- javascript - 在开发工具中检查之前无法选择的元素
- android - 相同的初始对象的数据被加载到变量中。(数据从 Firebase 检索)
- php - Wordpress 简码 PHP
- ios - swift 4 xcode 应用程序未读取 json 文件
- kubernetes - 使用外部 ELK 堆栈记录 Kubernetes
- list - Kotlin 将 List 转换为可变参数
- javascript - TypeScript 数组类型转换与 keyof 类似的方法
- java - 添加数字时对链表进行排序
- c# - ASP .NET Core 2.0 - OpenId Connect Auth:相关错误