gpt4 book ai didi

arrays - Swift 中数组声明的差异

转载 作者:搜寻专家 更新时间:2023-11-01 06:44:23 24 4
gpt4 key购买 nike

在 Swift 中声明时 var list = NSMutableArray()var list:NSMutableArray = [] 有什么区别?

最佳答案

据我所知没有有效的区别。

在第一条语句中,您使用了 Swift 的类型推断功能。您创建一个类的实例,并将该实例赋值给 var,编译器推断类型。

在第二个语句中,您明确定义了 list 的类型。 等号右侧的赋值现在实例化了一个空的 Swift 数组,但由于 NSMutableArray 的显式类型,它将被转换为此类。 等号的正确表达式与 NSMutableArray() 的作用相同,但是通过使用 [] 你有一个智能的速记选项来实例化 NSMutableArray 具有这样的值 [2,1,4][someObject, someOtherObject] 等。感谢@Neo。

在第二条语句中,编译器不会提示将实例化留在右侧,它只是隐式为 nil。另一方面,没有 NSMutableArray() 表达式的第一个语句是不可能的。

请记住,NSMutableArray 是 Foundation 框架中的一个类,主要用于 Objective-C 上下文,而 Swift 为此类列表提供了自己的集合类型。它们不相同,但由编译器隐式转换。

希望这能让事情变得清晰。

关于arrays - Swift 中数组声明的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31996645/

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