swift - 为什么这段 Swift 代码编译和运行没有错误?
问题描述
struct AStruct {
var aValue: Int
}
let aStruct = AStruct(aValue: 3)
let aClass = aStruct as AnyObject //Why does this line compile?
let ident = ObjectIdentifier(aClass) //`ObjectIdentifier()` requires a reference object, but this code works
在上面的代码中,我将一个值类型的结构转换为AnyObject
(对于类对象)并且它可以工作。
我预计该行会出现编译错误。
在下一行中,我将传递结构,转换为 AnyObject to ObjectIdentifier()
,这要求它的参数是类对象。该代码运行,并返回一个结果。如果通过Any
.
@#$@# 是什么?
解决方案
推荐阅读
- node.js - 我在寻求有关 i118 express node.js 的帮助吗?
- reactjs - 盖茨比 react-spring-3d 问题
- mysql - 列别名上的 MySQL CASE 语句
- javascript - 恢复第二次点击的状态
- javascript - 一个按钮具有两种不同的单击和鼠标按下行为
- next.js - 如何在微应用上下文中集中哨兵配置文件?
- r - 在 Shiny Server 中 60 秒后下载错误
- python - 为列值的周数创建自定义列
- node.js - Visual Studio 2017:命令“gulp”退出,代码为 9009
- javascript - 如何在nodemailer中发送图像并将其作为html中的背景图像?