0

好的,所以我在我的一个功能中遇到的问题是当用户通过 Facebook 登录时,我的应用程序正在检查他们的 Facebook 用户名是否已经存在于我们的应用程序 (Parse.com) 数据库中。

如果是这样,请提供一个视图控制器(这是我遇到问题的地方,因为它在一个 NSObject 中)如果不是,只需编写他们的 facebook 用户名来解析用户名字符串。我得到的错误是:选择器“presentViewController:animated:completion”没有已知的类方法

这是我的代码:

PFQuery *query = [PFUser query]; //1
[query whereKey:@"username" equalTo:me.username];//2
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {//4

    if (!error) {
        NSLog(@"Successfully retrieved: %@", objects);

        if ([objects count] > 0)
        {
            // LOOKING TO PRESENT VIEW CONTROLLER HERE? 
            //    TRIED:
            //    [self presentViewController:[@"RegisterUsername" animated:YES completion:nil];


        } else {
            [[PFUser currentUser] setObject:me.username forKey:@"username"];
        }
    } else {
        NSString *errorString = [[error userInfo] objectForKey:@"error"];
        NSLog(@"Error: %@", errorString);
    }
}];

由于这是从 NSObject 继承的,因此它不允许我使用 presentViewController。不知道从这里还能做什么。:-( 这个视图控制器会让他们在继续我们的应用程序之前设置一个用户名。这段代码目前在 Facebook iOS SDK 的头 Comms.h (NSOBJECT) 中的登录函数中

4

1 回答 1

1

NSObject 没有声明方法presentViewController:。您需要向窗口添加一个 UIViewController 子类,然后从中呈现。在您的完成块中,您dismissViewController应该从窗口中删除父级。

或者,您可以创建一个委托协议来检查用户名,然后通知 UIViewController 需要在内部设置用户名或显示登录视图。

于 2013-10-07T12:56:57.887 回答