Data Types -Dictionary
Dictionaries are a form of collection used by swift.
They have a structure of Name 《Key, Value》
let people = Dictionary<String, Int>()
Dictionaries have unique keys, and do not require an order
Dictionary keys must have the same data type
Dictionary values must have the same data type
let people = [“Rob”: 27, “Jennifer”:33, “Bill”: 14, “Erica”: 52]
Conditional Structures
Swift conditionals follow a similar pattern commonly used in other programming languages
if test == 10
{
//do something
}
Second way
if test.isEmpty()
{
//do something
}
else
{
//do something
}
Switch Statements
let test = “Hello World”
switch test{
case “Hello World”:
print(test)
break
case let x where x.hasSuffix(“World”):
print(“This string has the word ‘World’”)
break
default:
print(“No match”)
break
}
Loops
Loops are also similar to oyher languages, allowing us to iterate over data effectively:
NO.1:
while something !=50
{
print(something)
}
NO.2:
repeat
{
print(something)
}while something != 50
NO.3:
for index in 1…5 {
print(index)
}
NO.4:
for index in list{
print(index)
}
Functions
While Swift does support Object-oriented programming, unlike languages such as Java, it is not exclusively an Object-oriented language.
– For example, we can write functions outside of classes!
An example of a simple Swift function which does not return any values or have any parameters declared:
func simpleFunction()
{
print(“Hello World!”)
}
//Invoking the function
simpleFunction()
Function with parameter and return value: Parameters must have local name and type specified!
func doSomethingWithThisNumber(number: Int) -> Int{
return number + 5
}
var number = doSomethingWithThisNumber(10)
Function with multiple return values:(Actually return a tuple)
func doSomethingWithThisNumber(number: Int) ->(min: Int, max: Int){
var maxNumber = 0 + number
return (0, maxNumber)
}
let number = doSomethingWithThisNumber(10)
print(“min is \(number.min) and max is \(number.max)”)
- All functions in Swift have a type which is a combination of their parameters
and return types - This allows us to declare a variable that defines a function
This can be useful in passing functionality as a variable
– E.g. Imagine a sort function where you could pass a list and a reference to a
comparator function
Function - Types:Example
func addNumbers(num1: Double, number2: Double) -> Double{
return num1 + num2
}
func calculateMagnitude(num1: Double, num2: Double) -> Double{
let tempNum = (num1 *num1) + (num2 * num2)
return tempNum.squareRoot()
}
let functionVariable : (Double, Double) -> Double = addNumbers
let value = functionVariable(3,1)