Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Swift语法中的“as”有什么功能?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

最近我偶然发现了一个我无法找到引用的语法: Swift语法中的含义是什么? 像: var touch = touches.anyObject() as UITouch! 不幸的是,很难找到像这样的单词,所以我没有在Apple的Swift Programming Language手册中找到它.也许有人可以引导我到正确的段落? 为什么元素一如既往地有!表示打开一个可选的? 谢谢! as keyword
最近我偶然发现了一个我无法找到引用的语法: Swift语法中的含义是什么?

像:

var touch = touches.anyObject() as UITouch!

不幸的是,很难找到像这样的单词,所以我没有在Apple的Swift Programming Language手册中找到它.也许有人可以引导我到正确的段落?

为什么元素一如既往地有!表示打开一个可选的?

谢谢!

解决方法

as keyword用于将对象转换为另一种类型的对象.为此,该类必须可转换为该类型.

例如,这有效:

let myInt: Int = 0.5 as Int // Double is convertible to Int

但是,这不是:

let myStr String = 0.5 as String // Double is not convertible to String

您还可以使用?执行可选的强制转换(常用于if-let语句).操作符:

if let myStr: String = myDict.valueForKey("theString") as? String {
    // Successful cast
} else {
    // Unsuccessful cast
}

在你的情况下,触摸是(我假设从anyObject()调用)NSSet.因为NSSet.anyObject()返回AnyObject ?,所以必须将结果转换为UITouch才能使用它.

在该示例中,如果anyObject()返回nil,则应用程序将崩溃,因为您正在强制转换为UITouch! (明确解开).更安全的方式是这样的:

if let touch: UITouch = touches.anyObject() as? UITouch {
  // Continue
}

大佬总结

以上是大佬教程为你收集整理的Swift语法中的“as”有什么功能?全部内容,希望文章能够帮你解决Swift语法中的“as”有什么功能?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: