n00bAppDev
n00bAppDev

Reputation: 630

How to tell which table cell was clicked from another View Controller? iOS 7

I can't seem to find much on the net that is specific to my question.

Here's my situation; I have a Table View Controller with 5 cells that act purely as buttons that correspond to particular web sites, and each button will push to a View Controller with a web view on it, displaying the corresponding website.

Instead of having 5 different view controllers all with their own web view on it, is there some way to programatically determine which table cell was clicked so that I can change the URL in which the Web View references? That way I only need one View Controller and one Web View, and depending on the particular cell that was selected it will display a different website in that Web View. How might I do this? I just feel like it is redundant to have 5 very similar view controllers.

See below for my current code and some screen shots.

This code simply loads the URL into the web View (Websites.m)

NSURL *cpaURL = [NSURL URLWithString:@"http://www.cpagroup.com.au"];  // Define new URL variable
NSURLRequest *myRequest = [NSURLRequest requestWithURL:cpaURL];  // Define new web page request
[cpaWebView loadRequest:myRequest];  // Load request to page
cpaWebView.scalesPageToFit = YES;  // Scale page to fit on the screen

Link between table and one web view

Table and Web View Link

Upvotes: 0

Views: 253

Answers (1)

Kumar KL
Kumar KL

Reputation: 15335

Just pass the NSURL string into the webSite file (Check here for passing data), In your didSelectRow .

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
  // initialise your website class file
   websiteObj.urlString = // Use the Array OR something which you had reference of cell data
}

And in your website class, use the urlString to load the webView

Upvotes: 1

Related Questions