我正在尝试使用以下代码在我的 AppDelegate 类中调用一个方法。无论我输入多少个 ] 字符,编译器都会显示“预期的 ]”错误。
我在这里做错了什么?
[[(MyAppDelegate *)[[UIApplication sharedApplication] delegate] authenticateUser(usernameField.text, passwordField.text)]];
我正在尝试使用以下代码在我的 AppDelegate 类中调用一个方法。无论我输入多少个 ] 字符,编译器都会显示“预期的 ]”错误。
我在这里做错了什么?
[[(MyAppDelegate *)[[UIApplication sharedApplication] delegate] authenticateUser(usernameField.text, passwordField.text)]];
主要问题是代码让应用程序委托尝试调用函数,而不是方法。
[[(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];