Tag: 元组

将枚举大小写的关联值提取到一个元组中

我知道如何使用switch语句在枚举情况下提取关联的值: enum Barcode { case upc(Int, Int, Int, Int) case quCode(String) } var productBarcode = Barcode.upc(8, 10, 15, 2) switch productBarcode { case let .upc(one, two, three, four): print("upc: \(one, two, three, four)") case .quCode(let productCode): print("quCode \(productCode)") } 但我想知道是否有一种方法来提取使用元组的关联值。 我试过了 let (first, second, third, fourth) = productBarcode 不出所料,它没有奏效。 有没有办法将枚举案件的关联值变成一个元组? 或者这是不可能的?

Alamofire无法正常工作 – Tuple发行不同数量的元素

使用Xcode 7.1 在Alamofire responseJSON请求中我不能放4个参数。 下面是代码 let url2 = "https://httpbin.org/get" Alamofire.request(.GET, url2).responseJSON{ request, response, JSON, error in print(JSON) } 我得到这个错误:元组types'(NSURLRequest?,NSHTTPURLResponse?,结果)'(又名'(可选,可选,结果)')和'(_,_,_,_)'有不同数量的元素(3与4) 如果我从responseJSON中删除“ 错误 ”参数并运行它…应用程序生成,但没有JSON打印在控制台上.. let url2 = "https://httpbin.org/get" Alamofire.request(.GET, url2).responseJSON{ request, response, JSON in print(JSON) } 控制台输出 没有打印JSON。 如果您从代码中访问示例url ,您将看到JSON。 我遵循GitHub的指示,但不工作

Swift – 在编译时创build一个固定长度的数组

我想执行(编译时间)数组与5特定types的元素 我无法find一个解决scheme,所以通过创build一个元组来解决这个问题 (这是我知道的辱骂) typealias FiveElementArray = (MyType,MyType,MyType,MyType,MyType) // mock array by using typed tuple 它适用于我的需要 – 直到我需要在运行时通过索引访问元素。 例如: var DB = FiveElementArray // the tuple of 5 elements tableView(tableView : UITableView,cellForRowAtIndexPath:indexPath) -> UITableViewCell { // would like to populate with the value at index DB[indexpath.row] // no such syntax for tuples } 那么我怎样才能使用静态types长度的适当的swift数组

Swift:从元组数组中获取元素数组

我有一个这样的元组数组: var answers: [(number: Int, good: Bool)] 我想从它得到一个数字成员的数组。 就像我做了这样的事情: answers["number"] // -> Should give [Int] of all values named "number" 我没有find这样的东西,也许这是不可能的,但它会伤心:(

如何在Swift中循环结构的属性?

是否有可能在Swift中迭代结构的属性? 我需要在视图控制器中使用许多不同的单元格types(单元格组织在不同的nib文件中)来注册单元重用标识符。 所以我的想法是将所有的重用标识符和相应的nib文件作为静态元组属性(reuseID,nibName)在一个结构中。 但我怎么能遍历所有这些注册与tableView单元格? 我已经尝试了一些东西(请参阅下面的答案)。 但有没有一个更简单的方法来做到这一点,例如,不把每个属性放在一个数组中?

如何从一个元组数组中find一个元组元素的索引? iOS,Swift

这是在tableview cellforrowatindexpath里面 var valueArray:[(String,String)] = [] if !contains(valueArray, v: (title,status)) { let v = (title,status) valueArray.append(v) } 这是在didselectrowatIndexPath里面 let cell = self.tableView.cellForRowAtIndexPath(selectedRow!) var newTuple = (cell!.textLabel!.text!, cell!.detailTextLabel!.text!) let index = valueArray.indexOf(newTuple) 但我没有得到指数。 它是抛出一个错误不能转换types'(string,string)“的值为期望的参数types'@noescape((string,string))抛出 – >布尔'。 我在这里做错了什么?

在NSUserDefaults中保存一个元组

我正在使用一个元组来存储这样的东西。 var accessLavels: (hasInventoryAccess: Bool, hasPayrolAccess: Bool) accessLavels = (hasInventoryAccess: true, hasPayrolAccess: false) 现在我想把它保存在NSUserDefaults 。 NSUserDefaults.standardUserDefaults().setValue(accessLavels, forKey: "AccessLevelKey") NSUserDefaults.standardUserDefaults().synchronize() 但是我得到以下错误。 types'(hasInventoryAccess:Bool,hasPayrolAccess:Bool)'不符合协议'AnyObject' 我该如何解决这个问题? 如果不可能的话,那么任何其他的build议来拯救元组是值得欢迎的。 谢谢。

当我们可以使用数组来返回多个值时,为什么要使用元组

今天我正在经历一些基本的快速概念,并正在用一些例子来理解这些概念。 现在我已经完成了元组学习。 我有一个疑问,即什么是使用元组的需要? 雅我做了一些挖掘这里是我得到的: 我们可以从一个函数返回多个值。 好的,但我们也可以通过返回一个数组来做到这一点。 数组好,但我们可以返回不同types的多个值。 好吧,但这也可以通过这样的AnyObject数组来完成: func calculateStatistics (scores:[Int])->[AnyObject] { var min = scores[0] var max = scores[0] var sum = 0 for score in scores { if score > max{ max = score } else if score < min{ min = score } sum += score } return [min,max,"Hello"] } let statistics […]