The language for the rest of us
2014 CodeImpact
func greet(name: String, day: String) -> String {
return "Hello \(name), today is \(day)."
}
func sayHello() {
println("Hello there.")
}
func sumOf(numbers: Int...) -> Int {
var sum = 0
for number in numbers {
sum += number
}
return sum
}
sumOf()
sumOf(42, 597, 12)
var numbers = [20, 19, 7, 12]
numbers.map({
(number: Int) -> Int in
let result = 3 * number
return result
})
let sortedNumbers1 = sorted(numbers, {
(r1: Int, r2: Int) -> Bool in
return r1 > r2 } )
let sortedNumbers2 = sorted(numbers, { (r1, r2) in return r1 > r2 } )
let sortedNumbers3 = sorted(numbers) { $0 > $1 }
struct Resolution {
var width = 0
var height = 0
}
class VideoMode {
var resolution = Resolution()
var interlaced = false
var frameRate = 0.0
var name: String?
}
class Vehicle {
var make: String?
var model: String?
var year: Int?
init(val1: String, val2: String, val3: Int) {
make = val1
model = val2
year = val3
}
func whatAmI() {
println("I am a vehicle of make \(self.make) and model
\(self.model) of the year \(self.year)")
}
}
let myVehic = Vehicle(val1: "Dodge", val2: "Charger", val3: 2007)
myVehic.whatAmI()
class Car: Vehicle {
var wheels:Int = 4
override init(val1: String, val2: String, val3: Int)
{
super.init(val1: val1, val2: val2, val3: val3)
}
}
*Source Chris Pietschmann
// Declare Constant
// C#
const int legalAge = 18;
// Swift
let legalAge = 18
// Declare Variable
// C#
var legalAge = 18;
// Swift
var legalAge = 18
// Declare Constant
// C#
const int legalAge = 18;
// Swift
let legalAge = 18
// Declare Variable
// C#
var legalAge = 18;
// Swift
var legalAge = 18
// Type Inference
// C#
var a = 3; // integer
var b = 0.14; // double
var c = a + b; // double
// Swift
var a = 3 // integer
var b = 0.14 // double
var c = a + b // double
// Declare Arrays on single line
// String Array
// C#
var arr = new string[] { "One", "Two" };
// Swift
var arr = ["One", "Two"]
// Integer Array
// C#
var arr = new int[] { 1, 2 };
// Swift
var arr = [1, 2];
// Iterating Over Array
// C#
foreach (var item in arr) {
// do something
}
// Swift
for item in arr {
// do something
}
// Get Item at Index
// C#
var item = arr[0];
// Swift
var item = arr[0]
// Set Item at Index
// C#
arr[0] = "Value";
// Swift
arr[0] = "Value"
// Is Array Empty?
// C#
if (arr.Length == 0) {
// array is empty
}
// Swift
if arr.isEmpty {
// array is empty
}
// Add Item to Array
// C#
Array.Resize(ref arr, arr.Length + 1);
arr[arr.Length - 1] = "Three";
// Swift
arr.append("Three")
// or
arr += "Three"
// Remove Item at Index
// C#
var list = arr.ToList();
list.RemoveAt(0);
var newArr = list.ToArray();
// Swift
var newArr = arr.removeAtIndex(0)
// Declaring Dictionaries
// C#
var dict = new Dictionary<string, string>();
var dict2 = new Dictionary<string, string>
{
{ "TYO", "Tokyo" },
{ "DUB", "Dublin" }
};
// Swift
var dict = Dictionary<String, String>()
var dict2 = ["TYO": "Tokyo", "DUB": "Dublin"]
// Iterate over Dictionary
// C#
foreach(var item in dict) {
var key = item.Key;
var value = item.Value;
}
// Swift
for (key, value) in dict {
// key variable contains key of item
// value variable contains value of item
}
// Get Item in Dictionary by Key
// C#
var item = dict["TYO"];
// Swift
var item = dict["TYO"]
// Set Item in Dictionary by key
// or add if key doesn't exist
// C#
dict["LHR"] = "London";
// Swift
dict["LHR"] = "London"
// Remove Item in Dictionary by key
// C#
dict.Remove("LHR");
// Swift
dict.removeValueForKey("DUB")
// Iterate from 1 through 5
// C#
// using increment
for(var i = 1; i <= 5; i++) {
// do something with i
}
// Swift
// using range
for i in 1...5 {
// do something with i
}
// using increment
for var i = 0; i <= 5; ++i {
// do something with i
}
// If Then Else Conditional Statement
// C#
if (i > 6) {
// do something
} else if (i > 3 && i <= 6) {
// do something
} else {
// do something
}
// Swift
if i > 6 {
// do something
} else if i > 3 && i <= 6 {
// do something
} else {
// do something
}
// Switch statement
// C#
var word = "A";
switch(word) {
case "A":
// do something
break;
case "B":
// do something
break;
default:
// do something
break;
}
// Swift
var word = "A"
switch word {
case "A":
// do something
case "B":
// do something
default:
// do something
}
// Switch Case Ranges
// C#
switch (i) {
case 1:
case 2:
case 3:
// do something
break;
case 4:
// do something
break;
default:
// do something
break;
}
// Swift
switch i {
case 1...3:
// do something
case 4:
// do something
default:
// do something
}
// Function with Parameter and Return Value
// C#
string sayHello(string name) {
// do something
}
// Swift
func sayHello(name: String) -> String {
// do something
}