swift中判空到底用.count 还是 .isEmpty
swift 中.count 方法时间复杂度到底是多少
swift中有时能看到用 xxx.count == 0 这种方式,判断一个字符串/字典/数组是否为空,也能用 xxx.isEmpty 属性是否为空,网上有人认为要用isEmpty而不是count来判断,因为后者需要遍历;
有博客 https://www. jianshu.com/p/77f8d6563 596 认为 ”字符串是字符的集合,也遵循了RandomAccessCollection 协议“,则两者时间复杂度都为1,都可以用。
从苹果官方文档来看,各个数据结构如下
字符串 String ,不支持 RandomAccessCollection
swift库中String类对于.count方法的注释如下所示
/// The number of elements in the collection.
/// To check whether a collection is empty, use its `isEmpty` property
/// instead of comparing `count` to zero. Unless the collection guarantees
/// random-access performance, calculating `count` can be an O(*n*)
/// operation.
/// - Complexity: O(1) if the collection conforms to