gpt4 book ai didi

ios - Swift:数组变量存储属性不可变

转载 作者:行者123 更新时间:2023-11-28 11:23:51 25 4
gpt4 key购买 nike

在我的应用程序中,我将数组存储属性声明为变量。当我想检查它是否包含对象时,Xcode 不会自动完成。如果我手动完成它,它会显示一条错误消息,说明它不包含此方法。我认为数组不是可变的,尽管它被声明为 var。这是我的代码:

class someClass{
var someArray = AnyObject[]()

func someFunction{
if someArray.containsObject("object") <--- error here
}
}

最佳答案

您的代码包含一堆语法错误:

  • class someClass 后不应有括号
  • func someFunction后要有括号

但是您注意到的错误是 Array 上没有方法 containsObject。你可以这样做:

contains(someArray, "object")

或者你可以将它转换为 NSArray:

(someArray as NSArray).containsObject("object")

编辑

正如 Rob Napier 正确指出的那样,第一个选项(当然)仅适用于 String[],不适用于 AnyObject[]。 Swift 确实不鼓励混合数组。

关于ios - Swift:数组变量存储属性不可变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24169420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com