首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift型下浇铸

Swift型下浇铸
EN

Stack Overflow用户
提问于 2015-05-19 08:59:42
回答 2查看 1.1K关注 0票数 0

有什么不同(如果是的话,根本的原则是什么?)下延variable as! NSString与下延variable as NSString!之间的关系

EN

回答 2

Stack Overflow用户

发布于 2015-05-19 09:23:38

  • variable as! NSString

强制将变量的向下转换为NSString,如果variable不是NSString,则会引发运行时错误。

  • variable as NSString!

由于SWIFT1.2操作符as只能用于上传,所以上述代码将导致编译时错误,除非variable已知是NSString的子类。

票数 4
EN

Stack Overflow用户

发布于 2015-05-19 09:03:55

你所指的是被更好地称为下播。您可以阅读苹果关于这个问题的文档,这里

某个类类型的常量或变量实际上可能指的是幕后子类的实例。在您认为是这样的情况下,可以尝试使用类型类型cast操作符(如?或作为!)。 由于下传可能失败,类型强制转换操作符以两种不同的形式出现。条件窗体as?返回要向下转换的类型的可选值。强制形式,如!,尝试下行和强制-打开结果作为一个单一的复合行动。 使用类型强制转换操作符的条件形式(as?)当你不确定沮丧是否会成功的时候。这种形式的运算符将始终返回一个可选的值,如果不可能下行,则该值将为零。这使您能够检查是否有成功的下播。 使用强制转换运算符的强制形式(as!)只有当你确信沮丧的人永远会成功的时候。如果试图向下转换为不正确的类类型,则此形式的运算符将触发运行时错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30321075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档