gpt4 book ai didi

ios - 在 swift : Difference between Array VS NSArray VS [AnyObject]

转载 作者:行者123 更新时间:2023-11-30 13:08:02 25 4
gpt4 key购买 nike

正如标题所说,Array、NSArray 和 [AnyObject] 之间有什么区别?

此外,最推荐的解决方法是什么。我的意思是推荐是最简单的实现。谢谢。

最佳答案

Array是一个结构,因此它是 Swift 中的值类型NSArray是一个不可变的 Objective C ,因此它是 Swift 中的引用类型,并且桥接到 Array<AnyObject>NSMutableArrayNSArray 的可变子类.

var arr : NSMutableArray = ["Pencil", "Eraser", "Notebook"]
var barr = ["Pencil", "Eraser", "Notebook"]

func foo (var a : Array<String>)
{
a[2] = "Pen"
}

func bar (a : NSMutableArray)
{
a[2] = "Pen"
}

foo(barr)
bar(arr)

println (arr)
println (barr)

打印:

(
Pencil,
Eraser,
Pen
)
[Pencil, Eraser, Notebook]

因为foo更改 a 的本地值和bar更改引用。如果您这样做,它也会起作用 let arr而不是var与其他引用类型一样。

关于ios - 在 swift : Difference between Array VS NSArray VS [AnyObject],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39101666/

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