-sendMSG:toPort: is an instance method, which should be sent to an object. You are sending it to Class2, which is a class rather than an instance of that class.
Cheers, Chuck --- On Tue, 7/22/08, Brad Gibbs <[EMAIL PROTECTED]> wrote: > From: Brad Gibbs <[EMAIL PROTECTED]> > Subject: Help with "Messages without a matching method signature..." issue > To: "Cocoa List" <[email protected]> > Date: Tuesday, July 22, 2008, 12:28 PM > I read the Newbie Question on a method signature thread from > June 4 a > few times, but, either that isn't the problem I'm > having, or I'm not > understanding the solution... > > Any help would be greatly appreciated. > > > On compile, I get the following warnings: > > warning: 'Class2' may not respond to > '+sendMSG:toPort:' > warning: (Messages without a matching method signature will > be assumed > to return 'id' and accept '...' as > arguments. > > > > And clicking a button produces the following in the > Console: > > 2008-07-22 11:03:06.824 OSX Interface[37304:10b] *** > +[Class2 > sendMSG:toPort:]: unrecognized selector sent to class > 0x4080 > > > > Below is the offending code: > > Class 1 - This class provides IBActions, each of which > calls the > sendMSG: toPort: method of Class 2. The arguments for the > methods in > this class are used to construct NSStrings in Class 2. > Class 2 - The arguments sent from a button in Class 1 > provide two > strings, which are used to compose a new NSString, which is > sent to > another device on the network. > > > @interface Class1 : NSObject { > } > - (IBAction)powerOn:(id)sender; > > > @implementation Class1 > > - (IBAction)powerOn:(id)sender { > [Class2 sendMSG:@"P1P1" toPort:@"1"]; > > > @interface Class2 : NSObject { > } > > - (NSString *)sendString:(NSString *)stringToSend; > - (void)sendMSG:(NSString *)string toPort:(NSString *)port; > > @implementation Class2 > > - (NSString *)sendString:(NSString *)stringToSend { > NSData *postData = [stringToSend > dataUsingEncoding:NSASCIIStringEncoding > allowLossyConversion:YES]; > NSString *postLength = [NSString > stringWithFormat:@"%d", [postData > length]]; > > NSMutableURLRequest *theRequest=[[[NSMutableURLRequest > alloc] init] > autorelease]; > ... > > response = [[NSString alloc] initWithData:receivedData > encoding:NSASCIIStringEncoding]; > return response; > } > > > - (void)sendMSG:(NSString *)string toPort:(NSString *)port > { > NSString *stringToSend; > stringToSend = [[NSString alloc] > initWithFormat:@"method=MSGSend¶m1=%@¶m2=%@¶m3=200", > port, > string]; > NSLog(@"String being sent: %@", stringToSend); > [self sendString:stringToSend]; > } > _______________________________________________ > > Cocoa-dev mailing list ([email protected]) > > 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: > http://lists.apple.com/mailman/options/cocoa-dev/acharlieblue%40yahoo.com > > This email sent to [EMAIL PROTECTED] _______________________________________________ Cocoa-dev mailing list ([email protected]) 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
