Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone TWTeetComposeViewController在发布新tweet后执行自定义代码_Iphone_Objective C_Ios_Xcode - Fatal编程技术网

Iphone TWTeetComposeViewController在发布新tweet后执行自定义代码

Iphone TWTeetComposeViewController在发布新tweet后执行自定义代码,iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,因此,使用iOS5中的新Twitter框架,我们可以简单地用以下代码发布Twitter更新: if ([TWTweetComposeViewController canSendTweet]) { TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc] init]; [tweetSheet setInitialText:@"Tweeting from Steamerduck :

因此,使用iOS5中的新Twitter框架,我们可以简单地用以下代码发布Twitter更新:

if ([TWTweetComposeViewController canSendTweet]) {
    TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc] init];
    [tweetSheet setInitialText:@"Tweeting from Steamerduck :)"];
    [controller presentModalViewController:tweetSheet animated:YES];
}
但是,我想在用户单击send here后执行一些自定义代码:


tweetcomposeviewcontroller发送tweet后,是否可以执行一些自定义代码、我自己的一些方法?

您可以指定一个完成处理程序,在用户完成tweet编写后调用该处理程序。它看起来像这样(我还没有机会在设备上测试它):


您可以指定一个完成处理程序,在用户完成编写tweet后调用该处理程序。它看起来像这样(我还没有机会在设备上测试它):


你想让它自动发送推文吗?如果这就是你想要做的,苹果绝对不会允许…(像其他人一样发垃圾邮件和推特)你想让它自动发送推特吗?如果这就是你想要做的,苹果绝对不会允许…(以另一个人的身份发送垃圾邮件和推特)这就是你要做的,只是一个提示,你可能需要在Competition处理程序中添加“解雇代码”,否则,您将不得不双击取消按钮。我已将解雇代码添加到完成的取消部分handler@mttrb它可以工作,但在Xcode中显示了一个警告:在这个块中强烈捕获tweetSheet可能会导致一个保留周期…@mttrb我可以再问一个问题吗?如何在完成处理程序中从Twitter API访问JSON响应。我已将DismissModalViewController的接收者更改为控制器,而不是tweetSheet,因为这更正确,并将避免保留循环。这是您的操作方式,只是一个注记,您可能需要添加“Dismise代码”在completionhandler中,否则您将不得不双击cancel按钮。我已经在completion的cancel部分添加了disclease代码handler@mttrb它可以工作,但在Xcode中显示了一个警告:在这个块中强烈捕获tweetSheet可能会导致一个保留周期…@mttrb我可以再问一个问题吗?如何在完成处理程序中从Twitter API访问JSON响应。我已将DismissModalViewController的接收器更改为控制器,而不是tweetSheet,因为这更正确,并将避免保留周期。
if ([TWTweetComposeViewController canSendTweet]) {
    TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc] init];
    [tweetSheet setInitialText:@"Tweeting from Steamerduck :)"];

    // Set a completion handler to be called when the user is done
    // composing their tweet

    [tweetSheet setCompletionHandler:^(TWTweetComposeViewControllerResult result) {
        if (result == TWTweetComposeViewControllerResultDone) {
            // Tweet was sent, do something
        } else if (result == TWTweetComposeViewControllerResultCancelled) {
            // Do something else if the user cancelled

            [controller dismissModalViewControllerAnimated:YES];
        }
    }];

    [controller presentModalViewController:tweetSheet animated:YES];
}