相关疑难解决方法(0)

在Swift中:数组VS NSArray VS [AnyObject]之间的差异

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

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

collections ios data-structures swift

37
推荐指数
2
解决办法
4万
查看次数

如何在Swift中获取指针(而不是副本)到数组?

在Swift中,将数组分配给新变量实际上是复制.例如(如在Apple doc for Array中):

var numbers = [1, 2, 3, 4, 5]
var numbersCopy = numbers
numbers[0] = 100
print(numbers)
// Prints "[100, 2, 3, 4, 5]"
print(numbersCopy)
// Prints "[1, 2, 3, 4, 5]"
Run Code Online (Sandbox Code Playgroud)

我如何实际获得指向同一数组的指针,因此修改元素会反映在同一个数组中?(原因是我在另一个类的静态实例中访问,例如"SomethingManager.sharedInstance.arrayList [aKey]",我想将它缩短为指定的指针变量.)

(我很想知道如何在Swift 4和5中执行此操作.我没有看到Swift语言存在任何问题.)

编辑:

我提供了我需要有一个指针而不是副本的理由.

说,我有以下代码:

var childrenTasks = [Int64: [TaskRef]]()
Run Code Online (Sandbox Code Playgroud)

在类中定义,可以访问:

MyClass.singleton.parentTask[parentTaskID].childrenTask[taskRefID]
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,访问childrenTask的代码非常长.我想要一个指针,只是一个例子: -

var aPointerToChildrenTasks = MyClass.singleton.parentTask[parentTaskID].childrenTask[taskRefID] // I want a pointer, not a copy!
aPointerToChildrenTask.remove(at: anIndex) // if it is a pointer, I can manipulate the …
Run Code Online (Sandbox Code Playgroud)

arrays pointers swift

7
推荐指数
1
解决办法
331
查看次数

标签 统计

swift ×2

arrays ×1

collections ×1

data-structures ×1

ios ×1

pointers ×1