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 3075Consider 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 3788Consider 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 3798The 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 3928The 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 3072Consider 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 3850Post New Apple iOS Swift Questions
Is swift a language or framework?
Explain grand central dispatch (gdc).
What is swift property?
What is operation queue in swift?
What is nested function in swift?
What is mvp in swift?
What is the synonym of swift?
What is dynamic in swift?
What is dependency injection in swift?
Which is the superclass of all the view controller objects?
Can you explain completion handler?
What type of literals does swift language have?
What is static function in swift?
How can you prioritize the usability of the demand process?
What is optional chaining?