objective c - Trouble casting UIView in iOS -
i have class called fooview subclass of uiview , i'm trying cast uiview object fooview.
i follows
fooview *myview = (fooview*) myviewcontroller.view nslog(@"leg class of %@",nsstringfromclass([myview class])); // uiview here. the ivar of myviewcontroller uiview type.
i uiview result, idea why happens?
casting compile-time operation. doesn't magically change type of object. it's compile time checking , little runtime magic. myview still uiview, not fooview.
these 2 lines in question should give answer:
the ivar of myviewcontroller uiview type. uiview result
all objective-c objects have pointer called isa points object of type class. casting not change pointer, nor change size of object.
if want use fooview, need change property type in controller , if you're using interface builder, change type of uiview in inspector on right.
Comments
Post a Comment