• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 执行 segue 抛出错误

[复制链接]
菜鸟教程小白 发表于 2022-12-13 11:06:26 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我在 objective-c 中实现了一些 Json 帖子,在收到信息后,我尝试推送 segue 方法,但它抛出了这个异常

2015-06-25 00:08:33.807 BarApp[1446:109590] -[NSNull length]: unrecognized selector sent to instance 0x37439830

2015-06-25 00:08:33.809 BarApp[1446:109590] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull length]: unrecognized selector sent to instance 0x37439830'

这是我的代码

-(void) MakePost: (int)typePost {
    NSString *mainUrl = @"http://url.com/barap/usuario.php";
    NSString *post;
    
    if(typePost == 0) {
        post = [NSString stringWithFormat"?type=0&email=%@&password=%@",self.emailTextField.text, self.passwordTextField.text];
    }else if(typePost == 1){
        post = [NSString stringWithFormat"?type=1&fb_id=%@&nombre=%@&apellido_m=%@&email=%@&profile_picture=%@",fb_id, nombre, apellidoM, email, profilePictureUrl];
    }
    
    NSString *webPostUrl = [NSString stringWithFormat"%@%@", mainUrl, post];
    webPostUrl =[webPostUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSURL *postUrl = [NSURL URLWithString:webPostUrl];
    NSData *userInfo = [[NSData alloc] initWithContentsOfURL:postUrl];

    if(userInfo){
        NSMutableDictionary *userResults = [NSJSONSerialization JSONObjectWithData:userInfo options:NSJSONReadingMutableContainers error:nil];
        if (![userResults[@"id"] isEqualToString""]) {
            [defaults setObject:userResults[@"id"] forKey"userId"];
            NSLog(@"%@", [[NSUserDefaults standardUserDefaults] valueForKey"userId"]);

这是我的代码崩溃的地方!

[self performSegueWithIdentifier"loginSuccess" sender:self];
            
            
            if(typePost == 1){
                [FBSDKAccessToken setCurrentAccessToken:nil];
                [FBSDKProfile setCurrentProfile:nil];
            }
        }
    }else {
        UIAlertView* cError = [[UIAlertView alloc]initWithTitle"Erro!" message"Tuvimos un Error intente mas tarde" delegate:self cancelButtonTitle"Cancelar" otherButtonTitles:@"OK", nil];
        [cError show];
    }
}

- (void)prepareForSegueUIStoryboardSegue *)segue senderid)sender {
    if([[segue identifier] isEqualToString:@"loginSuccess"]) {
        [segue destinationViewController];
    }
}



Best Answer-推荐答案


该消息表明在 NSNull 对象上调用了 length 方法。因为 length 方法很可能会在 NSString

上调用

查看此链接

-[NSNull length]: unrecognized selector sent to JSON objects

关于ios - 执行 segue 抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31041743/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap