2

我想首先道歉,因为我确信这个问题已经得到了回答,在这个网站和其他网站上以各种形式出现,但我似乎无法实现任何类似的线程

只是我一直在尝试将一系列搜索引擎推送到我的 webView 中,我已经用 .plist 或 NSMutableArray 填充了表格,并且我有一个带有 Url 的两种类型的数组,我设法加载了一个子视图,但我真的努力让我的网络视图加载。我认为在 didSelectRowAtIndexPath 和 webView 加载请求之前我还可以。好的,考虑一下,我只填充了表格并将 IBOUTLET(非原子,保留)UIWebView *webView 并将其合成到我的 WebViewController 中。作为背景,我的 TableViewController 嵌入在 NavigationController 和 WebView 中的 UIViewController 如果有人愿意帮助我,我非常愿意捐赠,因为这导致了太多不眠之夜。

这是我的项目的链接,如果它可以帮助任何人http://dl.dropbox.com/u/28335617/TableViewArrays.zip

非常感谢您提供的任何帮助

这是我的 TableViewController.h

@class WebViewController;
#import <UIKit/UIKit.h>
@interface TableViewController : UITableViewController <UITableViewDataSource,   UITableViewDelegate> {
       WebViewController *viewController;
    IBOutlet UITableView *mytableView;

}

@property (strong, nonatomic) IBOutlet UITableView *mytableView;

@property (nonatomic, retain) WebViewController *viewController;

@property (nonatomic, retain) NSMutableArray *searchData, *tableData, *tableUrl;
@end

这是我的 TableViewController.m

    #import "TableViewController.h"
    #import "TableAppDelegate.h"
    #import "WebViewController.h"
    @interface TableViewController ()

    @end

    @implementation TableViewController
    @synthesize mytableView;
    @synthesize viewController;
    @synthesize searchData, tableData, tableUrl;
     NSMutableArray *searchData, *tableData, *tableUrl;



    - (void)viewDidLoad
    {
        [super viewDidLoad];



     tableUrl = [[NSMutableArray alloc] init];

    [tableUrl addObject: @"http://www.google.com"];
    [tableUrl addObject: @"http://www.bing.com"];
[tableUrl addObject: @"http://www.dogpile.com"];
[tableUrl addObject: @"http://www.wikipedia.com"];
[tableUrl addObject: @"http://www.ask.com"];
[tableUrl addObject: @"http://www.yahoo.com"];
    [tableUrl addObject: @"http://www.aol.com"];
[tableUrl addObject: @"http://www.altavista.com"];
[tableUrl addObject: @"http://www.gigablast.com"];
[tableUrl addObject: @"http://www.msn.com"];
[tableUrl addObject: @"http://www.mamma.com"];
    self.title = @"Search Engines";


            //ARRAY FOR PLIST
       // Find out the path of recipes.plist
        NSString *path = [[NSBundle mainBundle] pathForResource:@"searchData"      ofType:@"plist"];
                       searchData = [[NSMutableArray alloc] initWithContentsOfFile:path];

        // Load the file content and read the data into arrays 
       NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:path];
        tableData = [dict objectForKey:@"SearchEngines"];
       // tableUrl = [dict objectForKey:@"SearchAddress"];

   // NSString *path = [[NSBundle mainBundle] pathForResource:@"sEArray" ofType:@"plist"];
                     // sEArray = [[NSMutableArray alloc] initWithContentsOfFile:path];

      // NSString *urlArray = [[NSBundle mainBundle] pathForResource:@"urlsArray" ofType:@"plist"];
                      //urlsArray = [[NSMutableArray alloc] initWithContentsOfFile:urlArray];

    }

    - (void)didReceiveMemoryWarning
    {
        [super didReceiveMemoryWarning];
       // Dispose of any resources that can be recreated.
    }

    #pragma mark - Table view data source

    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
    {

        // Return the number of sections.
        return 1;
    }

     - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection: (NSInteger)section
    {

        // Return the number of rows in the section.
       return [self.tableData count];
    }

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath
    {
        static NSString *CellIdentifier = @"Cell";
        UITableViewCell *cell = [tableView  dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
        if (cell == nil) {


        }

        // Configure the cell...
         NSInteger row = [indexPath row];
        cell.textLabel.text = [tableData objectAtIndex:row];
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
        return cell;
     }








    #pragma mark - Table view delegate
    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {



    }
     @end

这是我的 WebViewController.h

    #import <UIKit/UIKit.h>

    @interface WebViewController : UIViewController {


    NSMutableArray *tableURL;
     }
    @property (nonatomic, retain) IBOutlet UIWebView *webView;
    @property (nonatomic, retain) NSMutableArray *tableUrl;
    @end

和 WebViewController.m

    #import "TableAppDelegate.h"
    #import "TableViewController.h"
    #import "WebViewController.h"

   @interface WebViewController ()

   @end

   @implementation WebViewController 

   @synthesize tableUrl;
   @synthesize webView;
4

2 回答 2

1

未测试。在 IB 中添加 SequgeIdentifier “WebView”

在 tableviewcontroller 中添加:

        - (void)viewDidLoad
        {
    ...
        tableUrl = [dict objectForKey:@"SearchAddress"];
        }

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
        [self performSegueWithIdentifier:@"WebView" sender:self];
    }


    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        if ([[segue identifier] isEqualToString:@"WebView"])
        {
            WebViewController *webViewController = segue.destinationViewController;

            NSIndexPath *selectedPath = [self.tableView indexPathForSelectedRow];
            webViewController.tableUrl = [tableUrl objectAtIndex:[selectedPath row]];
            [self.tableView deselectRowAtIndexPath:selectedPath animated:YES];
        }

    }

在 webview 控制器中

@interface WebViewController : UIViewController {
        NSString *tableURL;
    }
@property (nonatomic, retain) IBOutlet UIWebView *webView;
@property (nonatomic, retain) NSString *tableUrl;
@end

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    //Create a URL object.
    NSURL *url = [NSURL URLWithString:tableUrl];

    //URL Requst Object
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

    //Load the request in the UIWebView.
    [webView loadRequest:requestObj];
}
于 2012-11-30T08:58:50.700 回答
0

究竟是什么不工作?

查看您的代码,我立即看到您的单元格启动代码为空

如果(细胞 == 零){

}

我认为您应该使用以下内容启动您的单元格:

cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

于 2012-11-30T08:57:46.097 回答