diff options
author | caminsha <c.96marco@hotmail.com> | 2020-01-31 03:24:14 +0100 |
---|---|---|
committer | caminsha <c.96marco@hotmail.com> | 2020-01-31 03:24:14 +0100 |
commit | 06b95ac17e6b48c58f5eb53c1aa8393fc4686d9c (patch) | |
tree | 25246d6961f3d8f5fefe0dddcfe64b31356761a0 /swift.html.markdown | |
parent | 9b19efa3ce6c4797398dea585d9e4b5f13ae4060 (diff) | |
parent | 1ada1d35bb0d34afe41451c4921a7bb6c7ebe259 (diff) |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'swift.html.markdown')
-rw-r--r-- | swift.html.markdown | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/swift.html.markdown b/swift.html.markdown index 1f9fe897..689c5191 100644 --- a/swift.html.markdown +++ b/swift.html.markdown @@ -692,6 +692,11 @@ print(mySquare.sideLength) // 4 // cast instance let aShape = mySquare as Shape +// downcast instance: +// Because downcasting can fail, the result can be an optional (as?) or an implicitly unwrpped optional (as!). +let anOptionalSquare = aShape as? Square // This will return nil if aShape is not a Square +let aSquare = aShape as! Square // This will throw a runtime error if aShape is not a Square + // compare instances, not the same as == which compares objects (equal to) if mySquare === mySquare { print("Yep, it's mySquare") @@ -904,7 +909,7 @@ func findIndex<T: Equatable>(array: [T], valueToFind: T) -> Int? { } return nil } -findIndex(array: [1, 2, 3, 4], valueToFind: 3) // 2 +findIndex(array: [1, 2, 3, 4], valueToFind: 3) // Optional(2) // You can extend types with generics as well extension Array where Array.Element == Int { |