Swift

TOPICS


March 2019

  Swift basic concepts - Functions and Classes
March 7   |   Swift

 Functions and Classes

            


// Functions
func grettings_void() {
print("Hello World!")
}

func grettings() -> String {
return "Hello World!"
}

func grettings(yourname:String) -> String {
return "Hello \(yourname)"
}

func sum(a:Int,b:Int) -> Int {
return a + b
}

print(grettings_void())
print(grettings())
print(grettings(nombre: "Jorge"))
print(sum(a: 2, b: 3))

// Classes
class Person {
var name : String
var age : Int
  
 init(\_name:String, \_age:Int) {
self.name = \_name
self.age = \_age
}
  
 func grettings() -> String {
return self.name + " says Hi!"
}
}

let person = Person(\_name: "Jorge", \_age: 21)
print("This person is named \(persona.nombre) and is \(persona.edad) years old")
print(person.grettings())

            
            
        
  Swift basic concepts - Control and data
March 6   |   Swift

 Control and Data

            


// >> Switch
let numericValue = 3

switch numericValue {
case 1:
print("The value is 1")
case 2:
print("The value is 2")
case 3...10: // Using ranges
print("The value is greater or equal to 3 but less than 10")
default:
print("The value is greater than 10")
}

let weekDays = "Martes"
switch weekDays {
case "monday","wednesday","friday":
print("Promo A")
case "tuesday","thursday":
print("Promo B")
case "saturday":
print("Promo C")
default:
print("No promo today")
}

// FOR
for i in 1...10 {
print("Counter \(i)")
}

let alphabet = "ABCDEFGHIJKLMN"
for letter in alphabet {
print(letter)
}

let myArray = ["A","B","C","D","E","F"]
for item in myArray {
print("Item:\(item)")
}

// ARRAYS
// Array can contain only values with the same type
var varArray = ["A","B","C","D","E","F"]
varArray.count
varArray[0]
varArray.append("G")
varArray.remove(at: 0)
varArray.removeLast()
varArray.insert("A", at: 0)

// TUPLES
// Tuples can containt values with different types
var myTuple = ("iPhone XS", 10, 9999.99, false)
let varTupleSingleData = miTupla.0 // iPhone XS
let (product, quantity, price, isPromo) = miTupla // Variable destructuring

            
            
        
  Swift basic concepts - Variables
March 5   |   Swift

 Variables

            

// Variable declaration
var expressiveAssigment : String = "Value"
print(expressiveAssigment)

var expressive : String = ""
expressive = "Value"
print(expressive)

var intuitive = "Guest What?"
print(intuitive)

// Contants
let constantAssigment : String = "Constant Value"
print(constantAssigment)

let pi = 3.1416
print(pi)

// Optionals
var optionalString : String? = nil
var optional : Int? = nil

// How to work with optionals
print(optional) // nil
print(optional ?? 0) // Provide a default value
print(optional as Any) // Explicit Cast to Any to avoid errors
print(optional!) // Force-unwrap. CAUTION: Throw error if value is nil

// Optional Binding
if let opcbin = opcional {
print(opcbin)
} else {
print("No value")
}

// Strings
var phrase = "World!"
print("Hello " + phrase)
print("Hello ",phrase)
print("Hello \(phrase)")

let stringMultiline = """
To create a multine text
we must use three quotes
the end quotes must be on a new line
"""

let simpleCharacter : Character = "A"

// Cmd + Ctrl + Space
var emojis = "😇"

// Concatenation
emojis.append(simpleCharacter)

// String Functions
emojis.count
emojis.isEmpty
stringMultilinea.prefix(10)

// Swift 5 - Raw Strings
var rawString = #"Use "quotes" without escape sequences"#
var rawString2 = #"Use "quotes" along with a variable \#(phrase)"#