【发布时间】:2011-04-03 07:29:17
【问题描述】:
我正在尝试从数组中提取字符串(包含整数),然后将其用作函数中的 int。我正在尝试使用 intValue 将其转换为 int。
这是我一直在尝试的代码。
NSArray *_returnedArguments = [serverOutput componentsSeparatedByString:@":"];
[_appDelegate loggedIn:usernameField.text:passwordField.text:(int)[[_returnedArguments objectAtIndex:2] intValue]];
我收到此错误:
传递 'loggedIn:::' 的参数 3 使指针从整数 没有演员表
怎么了?
【问题讨论】:
-
我猜你不需要
(int)部分 -
loggedIn::: 是如何声明的?特别是它期望的第三个参数是什么类型的?
-
确实你不需要它,但这不会导致他看到的错误。
-
出于好奇,您来自什么语言?我看到很多人在 SO 上提出 Objective-C 问题,他们在哪里进行了看起来像您的
loggedIn:::方法的方法调用,这显然是一种非 Objective-C 的做事方式。 -
不,确实是
loggedIn:::。该声明的其余部分只是参数名称,而不是选择器的一部分。习惯上,它应该是- (void)loggedIn:(NSString *)tusername password:(NSString *)tpassword userID:(int)userId。然后你可以称它为[_appDelegate userIsLoggedIn:usernameField.text password:passwordField.text userID:[[_returnedArguments objectAtIndex:2] intValue]];。
标签: iphone objective-c string int