1.What is meant by unwrap and forced unwrap? var myString:String? myString = "Hello, Swift 4!" if myString != nil { print( myString! ) } else { print("myString has nil value") } Automatic unWrap: var myString:String! myString = "Hello, Swift 4!" if myString != nil { print(myString) } else { print("myString has nil value") } 2.What is defer and where its used? The defer statement is executed after the return! This allows you to accomplish things that can be accomplished in no other way Example: func defer() { print("Beginning") var value: String? defer { if let v = value { print("Ending execution of \(v)") } } value = "defer function" print("Ending") } 3.Difference between let and var? Let is an immutable variable, meaning that it cannot be changed Var is a mutable variable, meaning that it can be changed 4.Difference between static and const? Static: Like declaring the id of a table view cell which most likely won't change during its lifetime Const: its change during ruintime 5.Form Dictionary like following format? { “Data”:[{“name”:”sample1”},{“name”:”sample2”},{“name”:”sample3”},{“name”:”sample4”}] } Example: Var insideArray = [Dictionarty]() Var Dict = Dictionary() insideArray = [[“”:””],[“”:””],[“”””]] Dict = [“Data”:insideArray]; 6.What is guard keyword? Guard keyword, which could be used to ensure that various data is configured ready to go Example: func submitTapped() { guard username.text.characters.count > 0 else { return } print("All good") } 7.What is lazy keyword? The point of lazy properties is that they are computed only when they are first needed, after which their value is saved. 8.What is Extension? Extensions add new functionality to an existing class, structure, enumeration, or protocol type. This includes the ability to extend types for which you do not have access to the original source code (known as retroactive modeling). Extensions are similar to categories in Objective-C. (Unlike Objective-C categories, Swift extensions do not have names.) 9.Get the following output Var name :string? = nil Name = “sample1” Print (name) Var name: string! Name = “sample2” print(name) 10.Difference between Any and AnyObject ? AnyObject can represent an instance of any class type. Any can represent an instance of any type at all, apart from function types.