I have the following ViewController class
#import <UIKit/UIKit.h>
@interface SampleViewController : UIViewController {
IBOutlet UITextField *field1;
}
@property (nonatomic, retain) UITextField *field1;
- (IBAction) method1:(id)sender;
@end
When I change the method1:(id)sender to method1:(UITextField)sender, I get the error "Cannot use an object as a parameter to a method".
I searched and found this post which says "it [using an object as a method parameter] is not a good idea in Objective-C because Objective-C does not allow statically allocated object".
Can anyone point out where I can find a more detailed explanation for this?
Thank you.
From stackoverflow
-
You're not passing a pointer of
UITextField
.method1:(UITextField)sender
should be
method1:(UITextField *)sender
Objective-C doesn't like it when you pass non-pointers for object types.
Casebash : Interestingly, you can pass it if it is a struct rather than object -
Simple and correct answer. Thanks, been searching for hours.
Casebash : Peter, please don't post comments until you gain enough rep to post them as comments instead of answers
0 comments:
Post a Comment