我有以下ViewController类
#import <UIKit/UIKit.h>
@interface SampleViewController : UIViewController {
IBOutlet UITextField *field1;
}
@property (nonatomic, retain) UITextField *field1;
- (IBAction) method1:(id)sender;
@end
当我将method1:(id)sender更改为method1:(UITextField)sender时,我收到错误“不能将对象用作方法的参数”。
我搜索并发现this post说“它[使用对象作为方法参数]在Objective-C中不是一个好主意,因为Objective-C不允许静态分配对象”
任何人都可以指出我可以在哪里找到更详细的解释吗?
谢谢。
答案 0 :(得分:20)
你没有传递UITextField
的指针。
method1:(UITextField)sender
应该是
method1:(UITextField *)sender
当您为对象类型传递非指针时,Objective-C不喜欢它。