【问题标题】:Why the UIWebView' address is nil?为什么 UIWebView 的地址为零?
【发布时间】:2014-02-09 09:32:51
【问题描述】:

请原谅我的英语,谢谢 我有两个类: (COPlayerManager.h,COPlayerManager.h) 和 (COGenericPlayerController.h, COGenericPlayerController.h, COGenericPlayerController.xib)

目标是通过 UIWebView 显示图像。因此,在 COGenericPlayerController 的视图中,我从库中插入了一个对象 UIWebView。

我的 COGenericPlayerController.h 是:

#import <UIKit/UIKit.h>
#import "AxObject.h"
#import "AxFinderAppDelegate.h"
@interface COGenericPlayerController : UIViewController <UIWebViewDelegate, UIScrollViewDelegate>
{
    IBOutlet UIToolbar* wToolbar;
}
@property(nonatomic, retain) IBOutlet UIWebView* wBrowser;
-(void) open:(NSString*) path :(NSString*) titleObj;
@end

我已经完成了到文件所有者的所有链接。 问题是当我分配和初始化 COGenericPlayerController 时,它失去了其对象的引用(uiwebview)

@implementation COPlayerManager

// open a file at the input path.
-(void) open:(NSString*) path :(NSString*) titleObj :(int) tabBarIndex
    {
    .....
    .....
    else if([ext isEqualToString:@"jpg"] || [ext isEqualToString:@"png"] || [ext  isEqualToString:@"jpeg"])
    {
        **COGenericPlayerController *gPlayer = [[COGenericPlayerController alloc] initWithNibName:@"COGenericPlayerController" bundle:nil];**
    ......
    ......

当 gPlayer 分配和初始化时,它有一个地址和它的对象 (UIWebView) 之后 gPlayer 被分配并初始化,gplayer 的地址存在,但 UIWebView 的地址为零。我认为这是不允许我在模拟器 Iphone 屏幕上显示图像的问题,我不明白问题出在哪里。 谢谢

【问题讨论】:

    标签: ios iphone objective-c uiwebview


    【解决方案1】:

    这一行:

    COGenericPlayerController *gPlayer = [[COGenericPlayerController alloc] initWithNibName:@"COGenericPlayerController" bundle:nil];
    

    分配并初始化您的视图控制器,但它不会真正分配或实例化您的 UIWebView 插座,直到您将该视图控制器推送到视图中(通过导航控制器或 segue 或其他方式)。

    一旦 COGenericPlayerController 的“viewDidLoad”被调用,就是你的 web 视图存在的时候。

    【讨论】:

    • 现在可以正常工作了。我了解并且我已将 UIWebView 中的所有相关代码插入到 ViewDidLoad 中。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 2018-11-02
    • 2020-08-29
    • 2014-01-17
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    相关资源
    最近更新 更多