当前位置: 首页 > 知识库问答 >
问题:

如何将元组添加到Swift数组中?

叶俊郎
2023-03-14

我试图向数组中添加一个元组(例如,2项元组)。

var myStringArray: (String,Int)[]? = nil
myStringArray += ("One", 1)

我得到的是:

找不到接受提供的参数的“=”的重载


提示:我试图超载每个参考书的=:

@assignment func += (inout left: (String,Int)[], right: (String,Int)[]) {
    left = (left:String+right:String, left:Int+right+Int)
}

...但是没有弄对。

有什么想法吗。。。解决方案

共有3个答案

曾实
2023-03-14

Swift 4解决方案:

// init empty tuple array
var myTupleArray: [(String, Int)] = []

// append a value
myTupleArray.append(("One", 1))
缑智敏
2023-03-14

你有两个问题。第一个问题,你不是在创建一个“元组数组”,而是在创建一个“可选元组数组”。要解决此问题,请更改此行:

var myStringArray: (String,Int)[]? = nil

致:

var myStringArray: (String,Int)[]

第二,你在创建一个变量,但没有给它赋值。创建一个新的数组。要解决此问题,请在第一行之后添加以下行:

myStringArray = []

...或者您可以将第一行更改为:

var myStringArray: (String,Int)[] = []

之后,这条线工作正常,你不必担心超载操作符或其他疯狂的事情。你完蛋了!

myStringArray += ("One", 1)

以下是完整的解决方案。一行两行,一行都没变:

var myStringArray: (String,Int)[] = []
myStringArray += ("One", 1)
穆鸿波
2023-03-14

由于这仍然是谷歌为数组添加元组的首选答案,值得注意的是,在最新版本中,情况略有变化。即:

在声明/实例化数组时;该类型现在嵌套在大括号中:

var stuff:[(name: String, value: Int)] = []

复合赋值操作符=现在用于连接数组;如果添加一个项目,它需要嵌套在数组中:

stuff += [(name: "test 1", value: 1)]

还值得注意的是,在包含命名元组的数组上使用append()时,可以将要添加的元组的每个属性作为参数提供给append()

stuff.append((name: "test 2", value: 2))
 类似资料:
  • 问题内容: 在可选数组的末尾附加元素的正确方法是什么?假设我有一个可选数组myArray,我想在末尾附加“ 99”。Append()在nil数组上不起作用,因此我可以找到的唯一解决方案是以下方法,但是它看起来并不十分优雅: 问题答案: 您可以使用的事实,通过可选的链接调用的方法总是返回一个可选的值,即如果它是 不可能的 调用方法: 如果则则追加新元素并返回,以便不执行if块。 如果则不执行任何操作

  • 问题内容: 我搜索了google,但找不到在Swift中将新元素追加到数组对象的方法。出现错误代码“呼叫中参数“名称”缺少参数”。遵循我的代码。 如果您知道任何解决方案,我将非常高兴。谢谢。 问题答案: 只需将元组分配给temp变量: 不知道为什么它不能那样工作-只是检查一个函数,像这样: 结果:该函数有效,而数组方法无效。 更新 :在操场上尝试了以下代码: 结果:当将变量传递给-使用文字元组时,

  • 问题内容: 如果我在PHP中定义了一个数组,例如(我没有定义其大小): 我是否可以使用以下内容简单地添加元素? PHP中的数组没有add方法,例如? 问题答案: 您所描述的两种方法都可以。 是相同的:

  • 各位!我刚刚开始学习wift,如果这个问题很愚蠢,我很抱歉。我想使用循环向数组“uu”添加值。然而每次它都会覆盖“uu”。 请帮忙,谢谢! 我的代码

  • 我正在尝试添加RDF的这个简单示例: 进入Blazegraph三重存储,但我得到以下错误: 据我所知,我正在密切检查名称空间。 我也试过这个例子: null

  • 问题内容: 假设我有一个数组,例如: 然后我想将一个元素推/追加到所述数组的末尾,以获得: 我应该使用哪种方法? 那我想在数组的 前面 添加一个元素呢?是否有固定的时间班次? 问题答案: 从 Swift 3/4/5开始 ,操作如下。 向数组末尾添加新元素。 将另一个数组附加到数组的末尾。 向您的数组中插入一个新元素。 将另一个数组的内容插入到数组中。 更多信息可以从第110页开始的“ Swift编