Consider the following code:
var array1 = [1, 2, 3, 4, 5]
var array2 = array1
array2.append(6)
var len = array1.count
What’s the value of the len variable, and why?
Answer / iosraj
The len variable is equal to 5, meaning that array1 has 5 elements, whereas array2 has 6 elements:
array1 = [1, 2, 3, 4, 5]
array2 = [1, 2, 3, 4, 5, 6]
When array1 is assigned to array2, a copy of array1 is actually created and assigned.
The reason is that swift arrays are value types (implemented as structs) and not reference types (i.e. classes). When a value type is assigned to a variable, passed as argument to a function or method, or otherwise moved around, a copy of it is actually created and assigned or passed. Note that swift dictionaries are also value types, implemented as structs.
Value types in swift are:
structs (incl. arrays and dictionaries)
enumerations
basic data types (boolean, integer, float, etc.)
| Is This Answer Correct ? | 0 Yes | 0 No |
Is swift dynamic or static?
What is forced unwrapping? Why is it potentially unsafe?
Explain some common features of protocols & superclasses.
Explain some common execution states in ios?
How to write a multiple line comment in swift?
How can you write a comment in swift?
What are swift properties?
What are the control transfer statements used in swift?
Is swift object oriented programming?
Explain enum?
What is difference between weak and strong in swift?
What is a function in swift?