ios - as NSArray 和 as! NSArray 和 as NSArray! 有什么区别?
天蓬老师
天蓬老师 2017-04-18 09:39:26
[iOS讨论组]
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
高洛峰

首先,要明白 as! 和NSArray! 这两个感叹号代表的是不同的概念。as! 代表强制转类型,而NSArray!代表这个对象一定有值,不为空。

Bundle.main.loadNibNamed(nibName, owner: owner, options: options) 返回的类型是 , [Any]?

这是Array的option类型,说明这个值有可能是空的。即为nil。

所以在as! Array 的意思就是强制把Array?转为Array,所以会报警报,因为编译器认为可能会出现nil值,会出现错误。即编译器认为,这个转类型是会出现错误的。

而使用 as Array! 相当于我们告诉编译器,上述返回的值一定不为空,这个转类型是一定不会出问题的。我们对nibs这个使用!进行了强制解包,as这里的作用就是一个类型转换的作用。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号