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
Explain the usage of class and benefits of inheritance.
What is lazy loading in ios swift?
What is tuple in swift?
What is $0 in swift?
Is swift like python?
What will you do if your app is prone to crashing?
What is a static variable swift?
Explain any three-shift pattern matching techniques?
What are regular expression and responder chain in swift?
Do swift classes inherit from nsobject?
What is protocol in swift?
Is swift dynamic or static?
Is swift similar to python?
What is nsmutablearray in swift?
How to post an http request with a json body in swift?