Ios iPhone为什么在发送短信后不显示tweet发送屏幕

Ios iPhone为什么在发送短信后不显示tweet发送屏幕,ios,iphone,ios5,Ios,Iphone,Ios5,在我的iOS应用程序中,我尝试在发送短信后发送推特。这里的问题是,它显示短信屏幕并点击发送按钮,然后控制转到我的发送Tweet方法,但它没有显示Tweet发送屏幕 当我在不调用sms发送功能的情况下调用Send Tweet方法时,它会工作并显示Tweet发送屏幕。但为什么在发送sms后不显示Tweet发送屏幕呢 //================================================================================= - (void)

在我的iOS应用程序中,我尝试在发送短信后发送推特。这里的问题是,它显示短信屏幕并点击发送按钮,然后控制转到我的发送Tweet方法,但它没有显示Tweet发送屏幕

当我在不调用sms发送功能的情况下调用Send Tweet方法时,它会工作并显示Tweet发送屏幕。但为什么在发送sms后不显示Tweet发送屏幕呢

//================================================================================= 
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller
didFinishWithResult:(MessageComposeResult)result {
    //================================================================================= 
    switch (result)
    {

        case MessageComposeResultCancelled:
            NSLog(@"Result: canceled");
            break;
        case MessageComposeResultSent:
            NSLog(@"Result: sent");
            [self logSMSSentInfo];
            break;
        case MessageComposeResultFailed:
            NSLog(@"Result: failed");
            break;
        default:
            NSLog(@"Result: not sent");
            break;
    }

   [self dismissModalViewControllerAnimated:YES];

   [self performSelectorOnMainThread:@selector(SendTweet) withObject:nil waitUntilDone:NO];


}

// this function is to send tweet
//============================================
-(void)sendTweet:(NSString*)inTweetAccountInfo{
//============================================

    if ([TWTweetComposeViewController canSendTweet])
     {
     NSString *aTweetMsg;
        }
}

您希望在当前对象的主线程上执行的问题,但一旦调用[self DismissModalViewController:YES],对象将被释放

因此,您需要将sendTweet方法传递给一个活动对象

编辑:


您可以实现一个委托协议,并告诉显示您的modalView以发送tweet的viewController发送tweet方法必须位于parentViewController中。

为什么不使用通知中心,而不使用所述的performSelectorOnMainThread。如果您需要有关通知中心的更多详细信息,您可能希望查看。我希望这会有所帮助。

您是否尝试将SendTweet放在MessageComposeSultSent案例中?或者就在解聘Modalviewcontrolleranimated之前。@antf:谢谢你的回复,并尝试了你的方法,但即使现在self是模态的,它也不起作用?@Terenteoutalexandru:对这个[自我解聘Modalviewcontrolleranimated:是];当我使用afterDelay参数时,它显示tweet屏幕,如下所示[self-performSelector:@selectorSendTweet withObject:nil afterDelay:1.0];这是如何运作的呢?请告诉我该如何称呼这个方法