// Defining a Tuple using parenthesis around the comma-delimited list of values let httpError404 = (404, "Not found") let someOtherTuple2:(Double, Bool) = (100, false) // You can decompose a tuple very easily var (varStatusCode, varStatusMessage) = httpError404 // Access tuple values with the dot operator followed by their index httpError404.0 httpError404.1 // Alternatively, you can name the elements of a Tuple let namedTuple = (statusCode: 404, message: "Not found") namedTuple.statusCode == namedTuple.0 namedTuple.message == namedTuple.1I was surprised with Beta3 there are some lacking support for tuple an array/dictionary. In [1] like we define myArray, I'd expect the definition plus instantiation with tuple to work. In [2], not being to append a tuple.
var myArray = [String]() // [1] Error in playground: invalid use of () to call a value of non-function type var array1 = [(String, String)]() var array1: [(String, String)] = [] array1 += ("1", "2") array1 var array2:[(String, String)] = [] var tuple = ("fddfd", "fdfdf") // [2] Error in playgroungd: Missing argument #2 in call array2.append(tuple) array2 += tuple array2 // Correct in playgroung var array3:[String] = [] array3.append("ddd")Another good usage of tuple is with switch statement. You may need to differentiate switch cases depending on 2 criteria. Like in this sample code where the image name dependant on atmospheric measurement plus daylight factor. Tuple can also be used to enumerate through a dictionary
var dict = ["onekey":"onevalue", "twokey":"twovalue"] for (key, value) in dict { dict[key] = "assign-me-sth" println("\(key):\(value)") } dict
Let's keep an eye on tuple and array.
Try it yourself on Playground format and Happy Swift coding!
Tweet
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.