I'll appreciate someone to help me understand the problem and
suggest solution.
I'm trying to send a msg. to Pawn1 thru Pawn16 classes, but it
doesn't work from inside the loop.
Thanks.
- (IBAction)resetAll: (id)sender {
// [toPawn1 showYourself]; //--- This works fine.
// .......
// [toPawn16 showYourself];
/ but the following generates a warning: 'NSMutableString' may not
respond to '-showYourself'
for (i = 1; i <= 16; ++i) {
NSMutableString *str = [NSMutableString stringWithFormat: @"toPawn
%i", i];
[ [str className] showYourself];
[str release];
}
}
1. You're not sending the showYourself method to the class, but to
the object that is returned from the -className message, which is an
NSString instance. That's why you're getting the warning. To get a
class object from an NSString, you need to use NSClassFromString
function.
2. You shouldn't release str, since you didn't alloc, retain or copy
it. See the docs on memory management.