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 Posted / 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 |
Post New Answer View All Answers
How do I add a bridging header in swift?
What are swift properties?
What is difference between weak and strong in swift?
What is dependency injection in swift?
Is swift written in c++?
What is lazy stored procedure in swift and when is it used?
How can you write a multiple line comment swift?
How can you define a base class in swift?
What is mvc architecture in swift?
Should I use struct or class swift?
Does swift have abstract classes?
What do you mean by a deinitializer?
What is viewcontroller in swift?
What mechanism does ios support for multi-threading?
What is inheritance in swift?