首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
老司机技术
公众号 @老司机技术
·
5年前
关注
屏蔽作者: 老司机技术
举报
推荐文章:
Why using isEmpty is faster than checking count == 0 -
www.hackingwithswift.com
编辑简评:`Swift String` 中为什么使用 `isEmpty` 会比判断 `count == 0` 快?该文作者从 `count` 的工作原理中进行分析和对比。
- `Swift` 字符串是复杂的字符集合,单个字符可能是由多个字符进行组合形成,例如 `🇬+🇧=🇬🇧`,但是 `"🇬🇧".count == 1`。每次检查一个字符所需要的最长时间为 `O(n^2)`,因此如果计算的 `String` 很长,则 `count` 会需要较长的计算时间。
- `isEmpty` 的计算则是检查 `String` 起始索引等于结束索引则为空,时间为 `O(1)`。
同时作者提醒,在 `arrays, sets, dictionaries` 没有这种情况。但是建议使用 `isEmpty` 去判空,语义更为清晰,并且有利于 `String` 习惯用上 `isEmpty` 而不是`count`。`SwiftLint` 和 `SwiftFormat` 都有检查该情况。
更多优质内容,请查看本周周报:
展开
SwiftOldDriver/iOS-Weekly
github.com
今天学到了
等人赞过
分享
评论
4
相关推荐
#弧言弧语#
世界是一个巨大的精神病院,一言不合就发癫。
14 赞 ·
30 评论
一周是一年的2%
30 赞 ·
25 评论
前端每日一问
使用Vue2写的项目如何升级为Vue3?需要考虑哪些因素?
下面可以聊聊自己的见解
3 赞 ·
6 评论
相关推荐
#弧言弧语#
世界是一个巨大的精神病院,一言不合就发癫。
14 赞 ·
30 评论
一周是一年的2%
30 赞 ·
25 评论
前端每日一问
使用Vue2写的项目如何升级为Vue3?需要考虑哪些因素?
下面可以聊聊自己的见解
3 赞 ·
6 评论