Iphone 在完成处理程序中执行选择器是否不工作?

Iphone 在完成处理程序中执行选择器是否不工作?,iphone,ios,objective-c,twitter,Iphone,Ios,Objective C,Twitter,在goToHome方法中,我只是在保存一些数据后将用户发送到另一个屏幕。但是goToHome方法不会从完成处理程序获得调用。如果没有任何对象要传递,则只传递nil,如果有任何对象要传递此goToHome方法,则传递该对象。现在传递的是字符串而不是对象,如果需要传递字符串类型的对象,那么它应该可以正常工作,否则会出现问题 因此,传递所需的对象或仅为零,它将工作。尝试此操作 [[FHSTwitterEngine sharedEngine]showOAuthLoginControllerFro

在goToHome方法中,我只是在保存一些数据后将用户发送到另一个屏幕。但是goToHome方法不会从完成处理程序获得调用。

如果没有任何对象要传递,则只传递nil,如果有任何对象要传递此goToHome方法,则传递该对象。现在传递的是字符串而不是对象,如果需要传递字符串类型的对象,那么它应该可以正常工作,否则会出现问题

因此,传递所需的对象或仅为零,它将工作。

尝试此操作

    [[FHSTwitterEngine sharedEngine]showOAuthLoginControllerFromViewController:self withCompletion:^(BOOL success) {

        if(success){

            [self performSelector:@selector(goToHome:) withObject:@"twitter"];
        }
    }];

您甚至可以尝试以下方法:


[self-performSelectorOnMainThread:@selector(goToHome:)@“twitter”waitUntilDone:YES]

请尝试performSelectorOnMainThread:对不起,我的答案错了。我把它删掉了。我必须多睡一会儿:)你能更具体地描述一下发生了什么吗?如果你也能显示你的goToHome:方法那就太好了。@josh我只是在goToHome方法中执行推送操作,但这个方法没有控制。我以前使用下面的代码时,它工作正常:--(void)TwitterRequestSuccessfully:(BOOL)successfully{If(成功){[self-performSelector:@selector(goToHome:)withObject:@“twitter”];}}}它成功了……)感谢您和所有参与并提供帮助的人。我正在尝试找出它与performSelectorOnMainThread的区别。你知道吗?这是一种新的执行选择线程的方法,这个调用是GCD,Grand Central Dispatch。。。
[[FHSTwitterEngine sharedEngine]showOAuthLoginControllerFromViewController:self withCompletion:^(BOOL success) {

    if(success){
        dispatch_async(dispatch_get_main_queue(), ^{
            [self performSelector:@selector(goToHome:) withObject:@"twitter"];
        });
    }
}];