草庐IT

arrays - 将元组附加到元组数组?

我正在尝试制作一个元组数组来存储待办事项列表应用程序的数据,但无法弄清楚如何将元组附加到数组中。这是我的代码:首先,数组是全局声明的:vareventList:[(name:String,date:String)]=[]这是我尝试使用的代码,但我收到编译器错误“调用中缺少参数‘date’的参数”。(这行代码在buttonPressedAction中)eventList.append((name:titleField.text,date:convertDate(eventDate.date)))为什么这会导致编译器错误,我该如何解决? 最佳答案

swift - 代表任何元组的类型?

似乎元组不能转换为“任何”类型。您知道表示任何元组的类型吗?funcmyFunc(x:Any){}myFunc([12,34,56])//OKmyFunc((78,90,"Hello"))//error:'((Int,Int,String))->()'isnotconvertibleto'(Any)->()' 最佳答案 如果这对您来说是可能的,我建议您改用通用函数:funcmyFunc(x:T){}myFunc([12,34,56])//OKmyFunc((78,90,"Hello"))//Finetoo但是如果不知道您在函数中到底

ios - 比较数组 [三元组]

我正在努力完成这个a=[5,6,7]b=[3,6,10]现在,让我们比较每个单独的分数:a[0]>b[0],soAlicereceivespoint.a[1]==b[1],sonobodyreceivesapoint.a[2]Alice的比较分数是1,Bob的比较分数是1。因此,我们必须在一行上打印11(Alice的比较分数后跟Bob的比较分数)。我是这样做的:vara=[5,6,7]varb=[3,6,10]letpointsAlice=(a[0]>b[0]?1:0)+(a[1]>b[1]?1:0)+(a[2]>b[2]?1:0)letpointsBob=(a[0]但它显示为错误答案

Swift - 创建一个可散列的类元组结构

我正在尝试创建一个可散列的类似元组的对象,它可以保存任何类型的对象以用作字典中的键。我在两个地方使用该结构,一次保存2个Int,一次保存一个double和前面提到的2Int结构。我目前的实现有点作弊。我创建了一个Suple结构,它包含两个int,并且是可哈希的,然后是另一个结构Duple,它包含一个double和一个suple,并且是可哈希的。这可行,但我认为必须有更好、更简洁的方法来实现它。在搜索和弄乱泛型之后,我似乎无法让它工作,所以任何建议将不胜感激。编辑:除了相等声明中的==之后,我的代码实际上看起来与Anton的代码几乎相同。我没有意识到这是必需的,在添加之后,它现在可以工作

swift - 是否可以使用 Swift 将元组放入枚举中?

如果我有以下枚举:enumFruitTuple{staticletApple=(shape:"round",colour:"red")staticletOrange=(shape:"round",colour:"orange")staticletBanana=(shape:"long",colour:"yellow")}然后我有以下功能:staticfuncPrintFruit(fruit:FruitTuple){letshape:String=fruit.shapeletcolour:String=fruit.colourprint("Fruitis\(shape)and\(colo

swift - 你能为闭包参数列表中的元组元素创建名称吗?

这是一个属性,它为由UInt8组成的颜色提供足够好的亮度表示,用于red、green、和蓝色。varluma:UInt8{returnUInt8([(red,54),(green,183),(blue,19)].reduce(0){let(color,eightBitWeight)=$1return$0+Int(color)*eightBitWeight}>>8)}我希望它看起来像这样,但它无法编译:[(red,54),(green,183),(blue,19)].reduce(0){luma,(color,eightBitWeight)inluma+Int(color)*eightB

ios - 初始化两个元组的数组失败

我有一个返回元组数组的简单函数funcfindNodeNeighbors(node:Node)->[(node:Node,distance:Double)]{varneighbors=[(node:Node,distance:Double)]()varnodeLinks=linksWith(node)forlinkinnodeLinks{neighbors.append((node:link.otherNodeLinkedWith(node),distance:link.length))}returnneighbors}但结果是函数体第一行出现错误Invaliduseof()tocal

swift - 如何在 Swift 中创建元组数组,其中元组中的一项是可选的?

采用以下代码:vartupleArray:[(firstName:String,middleName:String?)]=[]tupleArray.append(firstName:"Bob",middleName:nil)tupleArray.append(firstName:"Tom",middleName:"Smith")//causesanerror我想要一个由名字和中间名组成的元组数组,中间名可以是nil或有一个值(因此是可选的)。但是,使用上面的创建代码,第三行给我一个错误。为什么?我该如何解决这个问题? 最佳答案 这可

arrays - 如何对元组数组进行排序?

如何实现(或创建)元组列表的数组类型?以下是从我的代码中收集的。基本上我创建了一个元组数组并通过for循环填充它;之后我尝试对其进行排序。varmyStringArray:(String,Int)[]?=nil...myStringArray+=(kind,number)...myStringArray.sort{$0>$1}这是Xcode在我构建之前给我的:test.swift:57:9:'(String,Int)[]?'doesnothaveamembernamed'sort' 最佳答案 你有两个问题。首先,myStringAr

where 子句中的 Swift 元组

我有通用类:classGeneric{varvalue:Tinit(value:T){self.value=value}}我想编写仅在T是任何类型的2个值的元组时使用的扩展方法,并且此方法返回Generic类型的值和3个新元组值。我试过:extensionGeneric{funcappend(c:C)->Generic{returnGeneric(value:(value.0,value.1,c))}}但显然这是行不通的,因为where子句只接受协议(protocol)。 最佳答案 我发现实现它的唯一方法是:classGeneric