当前位置: 首页 > 面试题库 >

Swift数组和包含,如何确定集合是否包含对象或值?

公良照
2023-03-14
问题内容

我再次使用swift数组和NSArray仅提供的containsObject!

我将swift数组桥接到NSArray来执行以下操作:

extension Array {
    func contains(object:AnyObject!) -> Bool {
        if(self.isEmpty) {
            return false
        }
        let array: NSArray = self.bridgeToObjectiveC();
        return array.containsObject(object)
    }
}

它通常可以正常工作,但是只要我放一个String就可以了!在字符串类型的数组中,它崩溃。即使containsObject确实占用了AnyObject!

        var str : String! = "bla"
        var c = Array<String>();
        c.append(str)
        println(c.contains(str))

声明一个字符串!数组也无济于事

        var str : String! = "bla"
        var c = Array<String!>();
        c.append(str)
        println(c.contains(str))

但是一样没有!效果很好

        var str : String = "bla"
        var c = Array<String>();
        c.append(str)
        println(c.contains(str))

那么我该如何显式包装东西?我真的不明白为什么我只需要显式地包装它,以便将其正确包装,但这就是它的外观。


问题答案:

斯威夫特1:

let array = ["1", "2", "3"]
let contained = contains(array, "2")
println(contained ? "yes" : "no")

斯威夫特2、3、4:

let array = ["1", "2", "3"]
let contained = array.contains("2")
print(contained ? "yes" : "no")


 类似资料:
  • 问题内容: 我需要确定数组中是否存在值。 我正在使用以下功能: 上面的函数总是返回false。 数组值和函数调用如下: 问题答案: 你可以像这样使用它:

  • 问题内容: 我有一个像 如何检查此数组以查看Magenic是否存在?除非必须,否则我不想循环播放。我正在处理几千条记录。 更新 由于这是一个受欢迎的帖子,所以我想分享一些新发现。看来@CAFxX已经分享了!我应该更经常阅读这些内容。 借助 ECMAScript 2015 ,使用新的箭头功能甚至更加简单: 问题答案: 2018 edit :这个答案来自2011,当时浏览器没有广泛支持数组过滤方法和箭

  • 问题内容: 我有一个像这样的值: 给定,有没有一种很好的方法来测试是否包含? 问题答案: 警告:这不适用于图元数组(请参见注释)。 从开始,你现在可以使用。 要检查的阵列是否,或包含一个值使用或分别。 例

  • 问题内容: 如何确定在Java数组中是否包含特定值? 问题答案: 从java-8开始,你现在可以使用Streams。 要检查的阵列是否int,double或long包含一个值使用IntStream,DoubleStream或LongStream分别。 例 Java SE 9的简要更新 引用数组不好。对于这种情况,我们要紧紧追赶。从Java SE 9开始,我们有了。 “给出String,是否有测试V

  • 从学习Java的第一天起,各种网站和许多老师就告诉我,数组是连续的内存位置,可以存储指定数量的相同类型的数据。 由于数组是一个对象,对象引用存储在堆栈上,而实际对象位于堆中,因此对象引用指向实际对象。 但是当我遇到如何在内存中创建数组的示例时,它们总是显示如下内容: (其中对数组对象的引用存储在堆栈上,并且该引用指向堆中的实际对象,其中还有指向特定内存位置的显式索引) 但是最近我在网上看到了Jav

  • 问题内容: 我正在尝试确定Pandas列中是否有一个具有特定值的条目。我试图用来做到这一点。我以为这是行得通的,除非当我向它提供一个我不知道的值时,它仍然返回。当我将一个子集添加到仅包含与缺少的ID匹配的条目的数据框时,显然其中没有条目。如何确定Pandas数据框中的列是否包含特定值,为什么我的当前方法不起作用?)。 问题答案: Series的值检查值是否在索引中: 一种选择是查看它是否具有唯一值