草庐IT

6、Arrays类

全部标签

arrays - 如何在不复制的情况下从 UnsafeBufferPointer 创建数组?

我遇到了一个棘手的情况,我有一个非常大的内存,由一个UnsafeBufferPointer表示,我需要将它表示为一个Array。现在,Swift标准库提供了一个初始化器,可以复制任何给定序列中的元素,但是它无法直接提供底层存储。有什么方法可以在避免复制的同时将UnsafeBufferPointer“转换”为Array? 最佳答案 structUnsafeBufferPointer{...}Anon-owningpointertobufferofElementsstoredcontiguouslyinmemory,presenting

arrays - 将 C 字符数组转换为字符串

我有一个与C库互操作的Swift程序。这个C库返回一个内部有char[]数组的结构,如下所示:structrecord{charname[8];};定义已正确导入Swift。但是,该字段被解释为8个Int8元素的元组(类型为(Int8,Int8,Int8,Int8,Int8,Int8,Int8,Int8)),我不知道如何使用Swift将其转换为String。没有接受Int8元组的String初始化器,并且似乎不可能获得指向元组第一个元素的指针(因为类型可以是异质的,这并不奇怪)。现在,我最好的想法是创建一个微型C函数,它接受一个指向结构本身的指针,并将name作为char*指针而不是数

arrays - 不使用 Foundation 对象获取 indexOfObject 方法

通过选择1sttableView行/部分我想检查所选项目是否已经在2ndtableView中?如果是,则找到所选项目indexOfObject在第二个tableView中。NSIntegersectionIndex=[[allSelectedProductsvalueForKey:@"productID"]indexOfObject:[allProductData[indexPath.section]valueForKey:@"productID"]];这将返回allSelectedProducts中所选对象的索引,返回其对应的数组值等于给定对象的最低索引。我想快速执行同样的任务,我该

arrays - Swift 数组非常慢(在字典中使用时)

我在Swift中处理非常大的数组,并得出结论,向其中添加元素时,这些数组非常慢。我主要在Dictionary中使用数组时观察到这些问题。ex:vararray=[String:[String]]因此我决定使用playground对一个非常简单的array测试进行基准测试,认为问题来自array本身:vararr=[Int]()foriin0..此代码需要很长时间才能完成。现在,在C#中使用真正的List编写相同的代码,甚至不需要second。IListlist=newList();for(inti=0;i我知道Swift中的数组不像其他语言中的列表那样可以灵活地选择ArrayList、

arrays - 创建一个函数来迭代和循环 Swift 中的数组

我正在尝试在Xcode中创建一个函数,每次我点击一个按钮时我都可以调用它来按顺序遍历数组,然后更新按钮标题的值。我似乎无法破解这个挑战。我已经尝试了while循环和if语句的各种迭代,但每次运行它时,我都会直接以数组中的最后一个值结束。这是我现在得到的代码,我试图添加一个break子句来阻止函数自动遍历整个数组,但它现在抛出一条错误消息,指出return语句之后的代码将永远不会被执行:因此,我在viewController中创建了一个按钮实例,如下所示:@IBActionfuncrepCount(){repCountButton.setTitle("\(repCounter.repCo

arrays - 如何将对变量的引用而不是变量值放入数组中

如何在swift中将指针放入数组?我有几个数组,在所有数组中我都引用了一个变量,当我更改它时我需要它在所有其他数组中更新。编辑:基本上我有一个数组varExampleArray:NSMutableArray=[0,"TestString",["*"],9,]我想做的是添加一个指向数组的指针,这样就可以了varExampleArray:NSMutableArray=[0,"TestString",["*"],9,//PointerHere]指针指向一个在许多数组中都有特征的字符串,如果在一个数组中更新它的值我希望它在所有数组中更新我该如何声明?谢谢 最佳答案

arrays - Swift - 更新多维 NSMutableDictionary 的值

在下面的Playground示例中,我尝试修改一个multidimensionalNSMutableDictionary。有人可以解释修改多维可变字典的正确方法吗?importCocoaletplayer="Player1"letcharacterName="MagicGlop"letstrength=23letdefense=220lettype="fire"varexample:NSMutableDictionary=["id":1,"player":player,"characters":["character-name":characterName,"stats":["stre

arrays - 如何将 double 组的数组转换为字符串,Swift

我有一个double组。如何将其转换为打印在控制台上的单个字符串?我需要创建一个函数,将double组作为参数并返回一个字符串对象。然后遍历每个内部数组并将内部数组的每个元素连接成一个String对象。但我不确定该怎么做。vararray1=[2.6,6.7,7.2,4.1,3.1]vararray2=[1.2,3.5,2.8,4.5,6.4]vararray3=[1.2,1.3,1.4,1.5,1.6]varnestedArray=[array1,array2,array3]这是我的代码......但我不知道如何做一个for循环来给我答案......funcnestedFunctio

arrays - 快速限制数组大小

有没有一种方法可以在swift中限制数组大小,以便在数组已满时向其追加元素时,它不会追加?我知道这可以通过编程方式完成。想知道swift是否对此有内置处理。例如:数组->大小为10的数组array.append(1)...array.append(10)array.append(11)//Doesn'tdoanything?array.insert(0,pos:0)用例:将最后一个元素推出数组以为新元素腾出空间?编辑-最后一行是主要用例。 最佳答案 不,Swift没有提供这种数组——类似于数据库中的View——允许您查看前N个元素。

arrays - 如何按字典 Swift 中包含的数组值对字典进行排序

我有一个包含数组作为其元素的字典,我想按其中一个数组值排序。我找到的所有用于对单个元素而不是数组进行字典排序的解决方案。另外,没看懂$0.0是什么意思?下面是我要完成的代码示例。vardict=["Mike":[62,160],"Jim":[72,210],"Tony":[68,187]]//Iwanttosortbytheheight(arrayvalues[0])fromhighestvaluetolowest.//Theoutputwouldlooklikethis:"Jim":[72,210]"Tony":[68,187]"Mike":[62,160]我对编码比较陌生,所以我真