Iphone 在为方法调用时,UIWebView显示为null

Iphone 在为方法调用时,UIWebView显示为null,iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,我在尝试访问ViewDidLoad期间创建的UIWebView时遇到了一个大问题,UIWebView显示为空 这是我如何申报财产的 @property (nonatomic, retain) UIWebView *detailsView; 实施 @implementation iPadMainViewController @synthesize detailsView; - (void)viewDidLoad { [super viewDidLoad]; details

我在尝试访问ViewDidLoad期间创建的UIWebView时遇到了一个大问题,UIWebView显示为空

这是我如何申报财产的

@property (nonatomic, retain) UIWebView *detailsView;
实施

@implementation iPadMainViewController

@synthesize detailsView;


- (void)viewDidLoad
{
    [super viewDidLoad];

    detailsView = [[UIWebView alloc] initWithFrame:CGRectMake(500, 0, 512, 768)];
    [self.view addSubView:detailsView];
}
从访问时

- (void)loadDetailedContent:(NSString *)s
{
    NSLog(@"%@", detailsView);
}
我得到空值,这是正常行为还是我做错了什么

下面是正在调用的touchesbreated,来自正在被触摸的views子类

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    iPadMainViewController *mycontroller = [[iPadMainViewController alloc] init];
    self.delegate = mycontroller;

    [self.delegate loadDetailedContent:NewsId];
}

是否确定在
viewDidLoad
之前未调用
loadDetailedContent
?在这两个方法中设置断点,并查看哪个断点最先被命中

编辑因为您用代码更新了问题,所以很容易理解为什么会出现此问题。在
touchsbegind
中,实例化
UIViewController
,然后调用
loadDetailedContent
。这意味着
loadDetailedContent
将在
viewDidLoad
之前调用


viewDidLoad
在创建它所控制的视图时首先被调用。

@synthesize detailsView = _detailsView
并分配您的uiwebvie

_detailsView = [[UIWebView alloc] initWithFrame:CGRectMake(500, 0, 512, 768)];

并尝试将ipadMainController在Touch中推到主屏幕,然后在ViediLoad中调用loadDetailedContent

首先,您的detailsView(但我会将其命名为detailsWebView,无论如何都不重要)是一个属性,因此您应该使用self运算符。当您调用loadDetailedContent方法时?我已将其更改为self,但仍然为nil,我在触摸同一视图控制器上的视图时调用它。当触摸同一UIViewController上的UIView时调用loadDetailedContent,因此是的,在viewDidLoad之后调用它。顺便说一句,被触摸的UIView是一个子类,它具有-(void)touchesStart:(NSSet*)触摸事件:(UIEvent*)事件,并且调用loadDetailedContent,这可能是原因吗?它在touchesStart上调用loadDetailedContent吗。你能给我们看一下触控密码吗?loadDetailedContent写在同一个类文件中?更改为_detailsView没有改变任何东西,我没有得到第二点,我如何将主控制器推送到它的子视图?如果它是你的主控制器,为什么你要创建他自己的委托:o?只需调用[self-loadDetailedContent];您可以使用NUll,因为UIWebView不是NSString,您正在记录%@这是string,设置breakpoit和chceck webview instanceno,我有一个UIView的子类,它应该接受touch事件,在子类中,我覆盖“touchesStart”,并调用其委托的方法-iPadMainView控制器,我在做傻事吗?:)