我正在开发iOS应用程序并且在测试期间遇到了问题:当我尝试进入下一个ViewController时,应用程序崩溃了,我收到了以下消息:
2014-06-29 14:22:46.674 IOS2 Practica[55472:60b] -[Logger login:]: unrecognized selector sent to instance 0x9242230
2014-06-29 14:22:46.679 IOS2 Practica[55472:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Logger login:]: unrecognized selector sent to instance 0x9242230'
从其他情况看,我已经抬起头来,当我尝试使用“segue”切换到下一个ViewController时,可能会发生某些事情,但我无法确定确切来源。
我附加了我在主视图控制器中定义segue的代码段:
- (void)logger:(id)sender {
NSString *user = self.username.text;
NSString *pass = self.password.text;
NSString * urlBase = @"http://www.v2msoft.com/clientes/lasalle/curs-ios/login.php?username=lluis&password=seguro";
[JSONHTTPClient getJSONFromURLWithString:urlBase completion:^(id json,JSONModelError *err){
JsonUser * user = [[JsonUser alloc]initWithDictionary:json error:nil];
if(user.succeed) {
self.user_id = user.user_id;
[self performSegueWithIdentifier:@"Login" sender:self];
} else {
NSLog(@"error");
}
}];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if (_username.text.length == 0 || _password.text.length == 0) {
[[[UIAlertView alloc] initWithTitle:@"Error"
message:@"Algun dels camps és incorrecte o està buit!"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:nil, nil]
show];
} else {
Supermarket * supermercat = segue.destinationViewController;
supermercat.user_id = self.user_id;
}
}
提前感谢您对此主题的任何见解。
答案 0 :(得分:1)
代码中的某处(不是您发布的位),您应该在login:
实例上调用Logger
方法。该方法未在Logger
中定义,这就是应用崩溃的原因。
注意:
末尾的Login:
:你可能已经定义了一个login
方法(不带任何参数),但是你用一个参数调用它。或许您可能想要致电logger:
。
您可以尝试以下两点:要么找出调用login:
方法的位置(在Storyboard中绑定某个按钮?),要么将logger:
重命名为login:
。< / p>