Swift 4 Cheat Sheet and Quick Reference

Class Implementation

class MyClass : OptionalSuperClass, OptionalProtocol1, OptionalProtocol2 {
    var myProperty:String
    var myOptionalProperty:String? 
    // More properties...
    
    // Only need override if subclassing
    override init() {
        myProperty = "Foo" 
    }
    // More methods...
}

Methods

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

Creating/Using an Instance

var a = MyClass() 
a.myProperty 
a.doIt() 
a.doIt(a:1) 
a.doIt(a:2, b:3)

Enums

enum CollisionType: Int { 
    case player = 1
    case enemy = 2
}
var type = CollisionType.player

Declaring Variables

var mutableDouble:Double = 1.0 
mutableDouble = 2.0

let constantDouble:Double = 1.0 
// constantDouble = 2.0 // error

var mutableInferredDouble = 1.0 

var optionalDouble:Double? = nil
optionalDouble = 1.0
if let definiteDouble = optionalDouble {
    definiteDouble
}

Variable types

types value
Int 1, 2, 500, 10000
Float,Double 1.5, 3.14, 578.234
Bool true, false
String "Kermit", "James"
ClassName UIView, UIButton, etc

Control Flow

var condition = true 
if condition {
} else {
}

var val =5 
switch val { 
case 1:
    "foo"
case 2: 
    "bar"
default:
    "baz"
}

// omits upper value, use ... to include
for i in 0..<3 { }

String Quick Examples

var personOne = "Ray"
var personTwo = "Brian"
var combinedString = "\(personOne): Hello, \(personTwo)!"

var tipString = "2499"
var tipInt = Int(tipString)

tipString = "24.99"
var tipDouble = Double(tipString)

Array Quick Examples

var person1 = "Ray"
var person2 = "Brian"
var array:[String] = [person1, person2]
array.append("Waldo")

for person in array {
    print("Person: \(person)")
}
var waldo = array[2]    

Dictionary Quick Examples

var dict:[String: String] = ["Frog": "Kermit", "Pig": "Ms. Piggy", "Weirdo": "Gonzo" ]
dict["Weirdo"] = "Felipe"
dict["Frog"] = nil // delete frog

for (type, muppet) in dict {
    print("type: \(type), muppet: \(muppet)")
}

Reference

https://koenig-media.raywenderlich.com/uploads/2014/06/RW-Swift-Cheatsheet-0_8.pdf

你可能感兴趣的:(Swift 4 Cheat Sheet and Quick Reference)