在swift中从元组数组中提取元组的元素

时间:2015-08-04 16:11:35

标签: arrays swift tuples

我很容易从一个元组数组中提取元组但是我很难理解如何提取元组的元素。

//: Playground - noun: a place where people can play

import UIKit

import Foundation

class ActivityDetailsModel {


    var activityCategory: String! // The choice of major activity


    init(activityCategory: String){
        self.activityCategory = activityCategory
    }

    class func activityForm(activityCategory: String) -> [(Question: String, Answer: String)] {
        var activityProfile: [(Question: String, Answer: String)] = [] //An array of tuples containing the users activity details

        switch activityCategory {
        case "Sport":
            activityProfile = [(Question:  "Home Club", Answer: "a"),(Question: "Other venues", Answer: "b")]// [, ["Activity days – Mon – Sunday": "c"], ["Player strength": "d"], ["Age group to play with": "e"]]
            return activityProfile
        case "Recreation":
            activityProfile = [(Question:  "Home Club2", Answer: "ab"),(Question: "Other venues3", Answer: "bc")]
            return activityProfile

        default:
            var activityProfile = [(Question:  "nixs", Answer: "nie")]
            return activityProfile
        }

    }


}
var actProf:[(Question: String, Answer: String)]
actProf = ActivityDetailsModel.activityForm("Recreation")
println(actProf[1])

这将返回数组中的第二个元组 - 我现在需要的只是提取元组的元素

4 个答案:

答案 0 :(得分:0)

let question = actProf[1].0
let answer = actProf[1].1

将为您提供元组中的元素。

答案 1 :(得分:0)

由于项目名称正确,非常简单

actProf[1].Question

替代地

actProf[1].0

actProf[1].Answer

替代地

actProf[1].1

答案 2 :(得分:0)

将两者放在一行:

let (question, answer) = ActivityDetailsModel.activityForm("Recreation")[0]

答案 3 :(得分:0)

很抱歉这个问题 - 答案发生了5分钟。之后 - 它就像

一样简单

var tupOut = actProf [1] tupOut.Question

感谢任何看过的人