ios - How to properly use generics on obj-c? -


with new xcode7 apple introduced generics , nullability objective-c ( developer guide )

but seems different have on swift.

nullability:

- (nonnull nsstring *)something {     return nil; } 

this should raise warning! , can assign return value of method nonnull variable like:

//@property (copy, nonnull) nsstring *name  obj.name = [obj something];  

generics: looking example:

@property (nonatomic, strong, nonnull) nsmutablearray <uiview *> *someviews; 

a warning raised when different uiview inserted on array

[self.someviews addobject:@"foobar"]; //<- raises error 

but not in case:

self.someviews = [@[@"foobar"] mutablecopy]; 

nor in case:

nsstring *str = [self.someviews firstobject]; 

so question is, i'm using generics , nullability in wrong way or far away swift implementation?

self.someviews = [@[@"foobar"] mutablecopy]; 

mutablecopy inherited nsobject, declared return id. not declared nsarray , nsarray des not decide return type.

nsstring *str = [self.someviews firstobject]; 

this does give warning me.


Comments

Popular posts from this blog

c - Bitwise operation with (signed) enum value -

xslt - Unnest parent nodes by child node -

YouTubePlayerFragment cannot be cast to android.support.v4.app.Fragment -