Swift defines the AnyObject type alias to represent instances of any reference type, and it’s internally defined as a protocol. Consider the following code: var array = [AnyObject]() struct Test {} array.append(Test()) This code generates a compilation error, with the following error message: Type 'Test' does not conform to protocol 'AnyObject' The failure is obvious because a struct is a value and not a reference type, and as such it doesn’t implement and cannot be cast to the AnyObject protocol. Now consider the following code: var array = [AnyObject]() array.append(1) array.append(2.0) array.append("3") array.append([4, 5, 6]) array.append([7: "7", 8: "8"]) struct Test {} array.append(Test()) The array array is filled in with values of type respectively int, double, string, array and dictionary. All of them are value types and not reference types, and in all cases no error is reported by the compiler. Why?
1 2958Consider the following code: let op1: Int = 1 let op2: UInt = 2 let op3: Double = 3.34 var result = op1 + op2 + op3 Where is the error and why? How can it be fixed?
1 3695Consider the following code: var defaults = NSUserDefaults.standardUserDefaults() var userPref = defaults.stringForKey("userPref")! printString(userPref) func printString(string: String) { println(string) } Where is the bug? What does this bug cause? What’s the proper way to fix it?
1 3684The following code snippet results in a compile time error: struct IntStack { var items = [Int]() func add(x: Int) { items.append(x) // Compile time error here. } } Explain why a compile time error occurs. How can you fix it?
1 3805The String struct doesn’t provide a count or length property or method to count the number of characters it contains. Instead a global countElements
struct Planet { var name: String var distanceFromSun: Double } let planets = [ Planet(name: "Mercury", distanceFromSun: 0.387), Planet(name: "Venus", distanceFromSun: 0.722), Planet(name: "Earth", distanceFromSun: 1.0), Planet(name: "Mars", distanceFromSun: 1.52), Planet(name: "Jupiter", distanceFromSun: 5.20), Planet(name: "Saturn", distanceFromSun: 9.58), Planet(name: "Uranus", distanceFromSun: 19.2), Planet(name: "Neptune", distanceFromSun: 30.1) ] let result1 = planets.map { $0.name } let result2 = planets.reduce(0) { $0 + $1.distanceFromSun } What are the types and values of the result1 and result2 variables? Explain why.
1 2972Consider 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?
1 3754Post New Apple iOS Swift Questions
What is reuseidentifier in swift?
Where can we test the apple iphone apps if we don’t have an ios device?
What are methods in swift?
How to declare an empty dictionary in swift?
What do you mean by initialization?
What are the type of integers does swift have?
How does swift achieve multiple inheritance?
Is swift open source?
What is the synonym of swift?
What is type aliasing in swift?
What is framework in swift?
Does swift support multiple inheritance?
What is mvvm in swift?
What is the swift main advantage?
Explain mvc structure.