'presentsViewController',同时有多个视图

时间:2012-06-14 16:53:13

标签: objective-c ios

我正在学习Objective-C,但我遇到了多个视图控制器。我了解到,如果您的故事板上有多个视图,则必须创建一个单独的文件(例如ViewTwoControllor.h和.m),并通过单击它们并在第三个选项卡右侧的面板中将这些文件链接到您的视图你必须输入'ViewTwoController'。我明白了通过单击按钮在Safari中打开一个网站。但我想在第二种观点中整合Twitter。

Twitter iOS 5集成正常,直到我把它放在第二个视图上。我使用以下代码作为按钮。

TWTweetComposeViewController *tweet = [[TWTweetComposeViewController alloc]init];

[tweet setInitialText:@"This is a pretty awesome application bro."];
[tweet addURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://www.stackoverflow.com"]]];

[self presentedViewController:tweet animated:YES completion:nil];

包括Twitter框架,IBAction等也很好。 这适用于单视图应用程序,但现在我收到以下错误: “实例消息的接收器类型'ViewTwoController'没有声明带有选择器的方法'presentViewController:animate:completion:'。

房间里有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可能需要presentModalViewController,而不是presentedViewController

查看UIViewController的文档。在这种情况下,您会看到有两个选项:presentViewController:animated:completionpresentModalViewController:animated

如果您是Objective-c的新手,选择器基本上只是一个方法名称。错误消息告诉您问题是什么:您尝试将消息(选择器,在本例中为presentedViewController:animated:completion)发送给不知道如何响应该消息的对象(在这种情况下) ,ViewTwoController的一个实例。这表明您调用的方法不正确,或者您尝试调用方法的对象不是您所想的子类。