Pascal Harris <mailto:45rpmli...@googlemail.com> 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 (Cocoa-dev@lists.apple.com)
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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to arch...@mail-archive.com