在完成处理程序内执行选择器不工作

时间:2013-07-04 07:03:09

标签: iphone ios objective-c twitter

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

        if(success){

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

在goToHome方法中,我只是在保存一些数据后将用户发送到其他屏幕。但是goToHome方法没有从完成处理程序调用。

3 个答案:

答案 0 :(得分:1)

试试这个

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

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

答案 1 :(得分:0)

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

所以传递所需的对象或只是nil,它将起作用。

答案 2 :(得分:0)

你甚至可以试试这个:

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