Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does Objective-C support Generics?

I wonder whether Objective-C offers any support for generics?

For instance, consider a method:

-(void) sort: (NSMutableArray *) deck {
}

Is there any way for me to make it only deal with Deck of Cards?
Is something like this possible to enforce?

-(void) sort: (NSMutableArray <Card *>) deck {
}
like image 646
James Raitsev Avatar asked Nov 18 '11 23:11

James Raitsev


1 Answers

Objective-C supports lightweight Generics since 2015, with the Xcode 7.

The Xcode 7 compiler will give you the compiler warning if there is a type mismatch.

For example, the following line will raise a compiler warning as the second object in the array causes type mismatch. The array allows only NSString objects.

NSArray <NSString *> *myArray = [@"str2", @1, @"str2"];
like image 99
Ramaraj T Avatar answered Oct 07 '22 10:10

Ramaraj T