iPhone发送短信后为什么没有显示推文发送屏幕

时间:2012-02-10 08:56:35

标签: ios iphone ios5

在我的iOS应用程序中,我试图在发送短信后发送推文。这里的问题是它显示短信屏幕并点击发送按钮然后控件来到我的“发送推文”方法,但它没有显示“推文”发送屏幕。

当我在没有调用短信发送功能的情况下调用我的“发送推文”方法时,它会工作并显示推文发送屏幕。但是为什么在发送短信后没有显示推文发送屏幕。

//================================================================================= 
- (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;
        }
}

2 个答案:

答案 0 :(得分:0)

您想要在当前对象的主线程上执行的问题,但是一旦调用[self dismissModalViewControllerAnimated:YES]就会释放您的对象;

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

编辑:

你可以实现一个委托协议并告诉viewController将你的modalView呈现给sendTweet(send tweet方法必须在parentViewController中)。

答案 1 :(得分:0)

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