我正在尝试使用以下代码在AppDelegate类中调用方法。编译器显示“预期的”错误,无论我放入多少个字符。
我在这里做错了什么?
[[(MyAppDelegate *)[[UIApplication sharedApplication] delegate] authenticateUser(usernameField.text, passwordField.text)]];
答案 0 :(得分:3)
主要问题是代码让app委托试图调用函数,而不是方法。
[[(MyAppDelegate *)[[UIApplication sharedApplication] delegate] authenticateUser(usernameField.text, passwordField.text)]];
重写(并删除额外的[]
:
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate]
[appDelegate authenticateUser(usernameField.text, passwordField.text)];
我们看到,虽然appDelegate期望一个方法找到一个函数。
将authenticateUser
更改为方法
例如:
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate]
[appDelegate authenticateUser:usernameField.text pass:passwordField.text];