Skip to main content

Swift 5

Designed for safety:
Swift is designed for safety. By default, Swift objects can never be nil. But there are scenarios where nil is valid and needed. To handle such, innovative approach called Optionals. Swift syntax forces you to use ? to safely deal.

Cases:
1. A collection can be empty.

Comments

Popular posts from this blog

Swift - Structure and Classes

Structures and Classes: How are structures different ? No inheritance.  No type casting to check at runtime.  No reference counting. No multiple references.  No deinitializers.  Structures are value types. When you assign instance of a struct to another variable, the entire structure is COPIED and not REFERENCED. Classes instead are REFERENCE types, pointing to the same instance.  === operator is to know if two variables / constants refer to the same instance.  == means they are equal in some value. It is your responsibility to implement == and != in your class.

Swift - Functions

Functions: A chunk of code that performs an action or specific task. Can have in-out parameters. Can have no-parameters to complex parameters of different types. When a function say it will return a value, it must return a value by the end of function execution. But the function call can ignore return value. Functions can return multiple values using Tuple. Function parameters are constant by default., if you try to change the value of a parameter it will give a compiler error. If you ever want to modify a parameter value, mark them as in&out parameter type. InOut parameters must be variables., because constants can not be modified.  Variadic parameters can not marked as InOut. Place & before variable, while calling the function.  Write inout before parameter type while defining the function. InOut parameters is a way to have an impact of the function out side of its scope. func swapTwoInts ( _ a : inout Int , _ b : inout Int ) var someInt = 3 ...