-1

我正在尝试使用以下代码在我的 AppDelegate 类中调用一个方法。无论我输入多少个 ] 字符,编译器都会显示“预期的 ]”错误。

我在这里做错了什么?

[[(MyAppDelegate *)[[UIApplication sharedApplication] delegate] authenticateUser(usernameField.text, passwordField.text)]];
4

1 回答 1

3

主要问题是代码让应用程序委托尝试调用函数,而不是方法。

[[(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];
于 2013-09-25T14:01:59.860 回答