为什么我的方法没有调用?
Why isn't my method calling?
您好,我正在尝试从另一个 class 调用一个方法,但它不起作用。
这是我要调用的方法,"updateName"。
@interface Content1ViewController ()
@end
@implementation Content1ViewController
+ (void)updateName:(id)sender {
NSLog(@"IT WORKED");
}
- (void)viewDidLoad {
[super viewDidLoad];
}
@end
然后我尝试在另一个 class 的方法中调用它。
-(void)randomMethod {
[Content1ViewController updateName];
}
然后我在 "update name" 处收到错误消息,因为它无法识别该方法?我遵循了这个 answer 但它对我不起作用。我已确定我也已将 classes 导入彼此。
有人可以告诉我为什么它不起作用吗?谢谢
这里的updateName是以sender为参数的方法
[Content1ViewController updateName:SOME_SENDER_ID_INSTANCE]; //Should work. Because your method definition says it needs `id` as param.
updateName 有一个参数 sender,而您在调用该方法时没有传递它,因此出现错误
确保在 Content1ViewController
的头文件中声明该方法,这将使它成为 public。此外,调用方方法的签名与最初声明的方法不同。 updateName
需要一个 (id)sender
的参数,请确保将一些引用传递给它以调用正确的方法。
您的声明与方法签名不匹配,即您需要调用:
[Content1ViewController updateName:SOMETHING_HERE];
您好,我正在尝试从另一个 class 调用一个方法,但它不起作用。
这是我要调用的方法,"updateName"。
@interface Content1ViewController ()
@end
@implementation Content1ViewController
+ (void)updateName:(id)sender {
NSLog(@"IT WORKED");
}
- (void)viewDidLoad {
[super viewDidLoad];
}
@end
然后我尝试在另一个 class 的方法中调用它。
-(void)randomMethod {
[Content1ViewController updateName];
}
然后我在 "update name" 处收到错误消息,因为它无法识别该方法?我遵循了这个 answer 但它对我不起作用。我已确定我也已将 classes 导入彼此。
有人可以告诉我为什么它不起作用吗?谢谢
这里的updateName是以sender为参数的方法
[Content1ViewController updateName:SOME_SENDER_ID_INSTANCE]; //Should work. Because your method definition says it needs `id` as param.
updateName 有一个参数 sender,而您在调用该方法时没有传递它,因此出现错误
确保在 Content1ViewController
的头文件中声明该方法,这将使它成为 public。此外,调用方方法的签名与最初声明的方法不同。 updateName
需要一个 (id)sender
的参数,请确保将一些引用传递给它以调用正确的方法。
您的声明与方法签名不匹配,即您需要调用:
[Content1ViewController updateName:SOMETHING_HERE];