Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


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?



Swift defines the AnyObject type alias to represent instances of any reference type, and it’s ..

Answer / iosraj

The reason is that swift automatically bridges:

number types to NSNumber

strings to NSString

arrays to NSArray

dictionaries to NSDictionary

which are all reference types.

Is This Answer Correct ?    1 Yes 0 No

Post New Answer

More Apple iOS Swift Interview Questions

What is $0 in swift?

0 Answers  


What do you mean by a deinitializer?

0 Answers  


The 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 Answers  


Mention what are the collection types available in Swift?

1 Answers  


How many access levels are present in swift?

0 Answers  


What lazy stored properties is and when it is useful?

0 Answers  


Does swift have abstract classes?

0 Answers  


Explain swift vs objective-c.

0 Answers  


How do you make a swift bridging header?

0 Answers  


What is property observer in swift?

0 Answers  


Why we use delegates in swift?

0 Answers  


What are the collection types that are available in swift?

0 Answers  


Categories