Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.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 从另一个类调用方法,uiwebview和模态视图问题_Iphone_Xcode_Webview_Modalviewcontroller_Uiapplicationdelegate - Fatal编程技术网

Iphone 从另一个类调用方法,uiwebview和模态视图问题

Iphone 从另一个类调用方法,uiwebview和模态视图问题,iphone,xcode,webview,modalviewcontroller,uiapplicationdelegate,Iphone,Xcode,Webview,Modalviewcontroller,Uiapplicationdelegate,我在尝试从另一个类调用方法时遇到了一些问题。这是我的密码 Appdelegate.m - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{ if ([url isFileURL]){ RootViewController *theview = [[RootViewController alloc] init]; [theview handleOpenURL:url];

我在尝试从另一个类调用方法时遇到了一些问题。这是我的密码

Appdelegate.m

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{

if ([url isFileURL]){
       RootViewController *theview = [[RootViewController alloc] init];
       [theview handleOpenURL:url];
       }
       return YES;
  }
RootViewController.h

 @interface RootViewController : UIViewController <UIWebViewDelegate>{
     IBOutlet UIWebView* mainwebView;
  }
- (void)handleOpenURL:(NSURL *)url;
@property (nonatomic, retain) UIWebView* mainWebView;
因此,基本上,我正在尝试更新UIWebView,然后在appdelegate调用handleOpenURL后提供一个模态视图控制器。问题是,这两件事(更新webview和显示视图控制器)都拒绝在handleAppenurl方法中工作。它们在viewdidload中工作得非常好,这使我认为它与从appdelegate调用的方法有关

当从handleOpenURL方法访问webview时,webview只是拒绝响应,当我呈现模态视图控制器时,我得到了错误

 Warning: Attempt to present ... whose view is not in the window hierarchy!
但是,当从viewdidload(使用时间延迟选择器)显示时,modalview同样可以正常工作

感谢您的帮助,解释发生这种情况的原因或解决方法将非常有用。

您必须在
RootViewController.m
中导入“docView.h”

 Warning: Attempt to present ... whose view is not in the window hierarchy!
警告表示该视图无法识别,这意味着您无法正确访问该类,如果该类未导入,则说明您没有在
docView.m
中正确设置代码

如果这不起作用,我需要更多的信息来帮助解决你的问题


编辑澄清:

  • 应用程序委托在开始时调用,指向时调用,而不是 不断地
  • 您应该在模态视图加载时调用它,方法 指针([self myFunctionNameHere];)可以正常工作
  • 因此,这是因为您没有正确访问应用程序代理
  • 我认为你甚至不应该从应用程序代理那里调用它, 从你的m.m

从主(.m)文件调用它可以解决所有问题。当我从app delegate调用该方法时,它是否与使用“self”有关?因此,我的docView.h导入正确,我知道这一点,因为当我从rootviewcontroller的viewdidload显示模式时,它工作正常。问题是当我试图使用appdelegate调用的方法来表示模态时。
 Warning: Attempt to present ... whose view is not in the window hierarchy!