Re: makeObjectsPerformSelector on a sub class
Re: makeObjectsPerformSelector on a sub class
- Subject: Re: makeObjectsPerformSelector on a sub class
- From: James Bucanek <email@hidden>
- Date: Wed, 21 Mar 2012 14:06:41 -0700
Pascal Harris <mailto:email@hidden> wrote
(Wednesday, March 21, 2012 7:56 AM -0000):
Now I want to scramble the state of each of the tiles. In the game
controller, I'm using the following code:
[[self.view subviews] makeObjectsPerformSelector:@selector(scrambleState)];
I've put a breakpoint in scrambleState - and it never gets called. I'm
guessing that 'makeObjectsPerformSelector' fails to work because scrambleState
is not a method in UIView. Question is, what do I need to do in order to
ensure that this code gets called?
Others have made a lot of valid suggestions and points, but if
it wasn't mentioned I have another reason this would fail:
You must ensure that *all* subview of self.view implement
-scrambleState. The first object in the collection that doesn't
implement this method will throw an exception and the iteration
will stop.
Safer, although longer, would be:
// (warning: typed in mail)
UIView* subview;
for ( subview in self.view.subviews )
if ([subview respondsToSelector:@selector(scrambleState)])
[subview scrambleState];
--
James Bucanek
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden