generics - <ObjectType> in Objective-C -


in nsarray.h saw interface this

@interface nsarray<objecttype> 

what significance of <objecttype>?

that apple using lightweight generics. full @interface declaration in xcode 7.3.1 looks this:

@interface nsarray<__covariant objecttype> : nsobject <nscopying, nsmutablecopying, nssecurecoding, nsfastenumeration> 

objecttype placeholder used represent generic argument pass compiler knows reference them. different using nsobject * because objecttype id, can refer non-objective-c pointer types such corefoundation objects.

for example, if wanted create class mocks array specific class, @interface myarray<myclass *>.

you declare array of strings nsarray<nsstring *>.

see this article on objective-c generics more information.


Comments

Popular posts from this blog

javascript - Thinglink image not visible until browser resize -

firebird - Error "invalid transaction handle (expecting explicit transaction start)" executing script from Delphi -

mongodb - How to keep track of users making Stripe Payments -