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

另外,最推荐的方法是什么.我的意思是,最简单的实现是什么.非常感谢.

推荐答案

Arraystruct,因此在Swift中是value type.

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改变了参考值.

Swift相关问答推荐

如何更新Square Order?

";async let和";async之间的差异让我们等待";

在MacOS上检测键盘是否有Globe键

在Swift中,将秒设置为0也等于将1添加到分钟

可以';t在标记为@Observable的类上使用属性包装

循环字典中的数组

ToolbarItem 包含在动画中但不应该包含在动画中

有没有办法让文本字段以不同的 colored颜色 显示而不影响半透明背景?

UIView.convert(_ point:to:)的意外行为

为什么即使 `C` 是一个不是 `Sendable` 的类,Task` 也能工作?

为 SwiftUI 中的属性提供默认值

SwiftUI Preview 不适用于 Core Data

Swift Components.Url 返回错误的 URL

如何使 SwiftUI Picker 换行文本

为什么更改属性后动画会加速? SwiftUI

swift:修改字典中的数组

swift中的SequenceType和CollectionType有什么区别?

Swift 协议只能设置?

如何从一个可观察的数组创建一个可观察的数组?

Swift 3:小数到 Int