2

このサイトや他のサイトでさまざまな形でこの質問に答えられたと確信しているので、最初に謝罪したいと思いますが、同様のスレッドを実装できないようです

検索エンジンの配列をwebViewにプッシュしようとしているだけで、テーブルに.plistまたはNSMutableArrayを入力し、両方の種類の配列にUrlを入力しましたが、サブビューをロードすることができましたが、実際にはWebビューをロードするのに苦労しています。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];
        }

    }

webviewcontrollerで

@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

正確に何が機能していないのですか?

あなたのコードを見ると、あなたのセル開始コードが空であることがすぐにわかります

if(cell == nil){

}

私はあなたがこのようなものであなたのセルを始めるべきだと思います:

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

于 2012-11-30T08:57:46.097 に答える