Data Types
Complex Data Types
Value Types & Reference Type
String Interpolation
print("Kobe \\("Bryant")")
print("Number \\(24)")
print("Numbers combined: \\(24 + 8)")
print("Some function: \\(kobe())")
print("Some ternary operator: \\(mvp == "kobe" ? "legend" : "meh")")
Subscripts
/* Suscripting an array */
var ballBrothers = ["Lonzo", "Gelo", "Melo"]
print(ballBrothers[1]) // output: Gelo
-----------------------------------------------------------------------
/* Subscripting a dictionary */
var ballBrothers = ["Lonzo": "Pelicans", "Gelo": "Swarm", "Melo": "Hornets"]
print(ballBrothers["Melo"]) // output: Hornets
Arrays
var nba = ["Kobe", "Lebron", "Stephen", "Lavar"]
// Initalizing an empty array (Type Annotation)
var scores = Array<Int>()
//or
var scores = [Int]()
// or
var scores: [Int] = []
//To append
nba.append("Shaq")
//To count # of data
nba.count
//To remove a data
nba.remove(at: 3)
//To remove all
nba.removeAll()
//To check if array contains specific data
nba.contains("shaq")
// To sort alphabetically/numerically
nba.sorted()
//To sort in reverse order
nba.reverse()
Dictionaries
let nba = [
"name" = "Kobe",
"position" = "SG",
"number" = "24"
]
//To initialize empty dictionary (Type Annotation)
let mlb = [String: String]()
//To append
nba["height"] = "198"
//To fetch data
nba["name"] //Throws a warning without a 'default' value
nba["name", default: "Unknown"] //No warnings
/* This is incase there is no value attached to a key,
not that it always should. */
Tuples
var kobe = ("Kobe", 24)
// or
var kobe = (name: "Kobe", number: 24)
print("Name: ", kobe.0)
print("Number", kobe.1)
// or
print("Name: ", kobe.name)
print("Number", kobe.number)
/*function that returns a Tuple*/
func mvpElementName() -> (name: String, number: Int) {
("Kobe", 24)
}
//or
func mvpElementName() -> (name: String, number: Int) {
return (name: "Kobe", number: 24)
}
//or
func mvpIndices -> (String, Int) {
("Kobe", 24)
}
var mvp2007_elementName = mvpElementName()
print(mvp2007_elementName) //(name: "Kobe", number: 24)
var mvp2007_indices = mvpIndices()
print(print2007_indices) //("Kobe", 24)
/*function that takes an empty Tuple as a parameter*/
func someFunction(someTuple: ()) {
//some code
}
/*Assigning individual Tuple values into individual variables*/
func mvp() -> (firstName: String, jerseyNumber: Int) {
("Kobe", 24)
}
//option 1
var mvp2007 = mvp()
var name = mvp2007.firstName
var number = mvp2007.jerseyNumber
print("His name is \\(name), number \\(number)") //His name is Kobe, number 24
// \\(name) is cleaner than \\(mvp2007.firstName)
//option 2 ("Deconstructuring":)
var (name, number) = mvp()
print("His name is \\(name), number \\(number)") //His name is Kobe, number 24
// even cleaner
Sets
var players = Set(["Kobe", "Lebron", "Shaq", "Yao Ming"])
//Initializing an empty set (Type Annotation)
var players = Set<String>()
//To ~~append~~ insert
players.insert("Lavar")
//To see if Set contains data
players.contains("Kobe")
//To count # of data
players.count
//To sort data alphabetically/numerically (returns a sorted **array**)
players.sorted()