gpt4 book ai didi

objective-c - 为什么是 "cannot use an object as a parameter to a method"?

转载 作者:太空狗 更新时间:2023-10-30 03:30:53 25 4
gpt4 key购买 nike

我有以下 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 不允许静态分配的对象”。

谁能指出我在哪里可以找到更详细的解释?

谢谢。

最佳答案

您没有传递 UITextField 的指针。

method1:(UITextField)sender

应该是

method1:(UITextField *)sender

当您为对象类型传递非指针时,Objective-C 不喜欢它。

关于objective-c - 为什么是 "cannot use an object as a parameter to a method"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/846052/

25 4 0