Я все еще новичок в программировании на iOS, и я пытаюсь реализовать приложение, которое отображает информацию для студентов, посещающих выходные hackathon в выходные дни. В настоящее время я работаю над таблицей, заполненной списком спонсоров, и когда вы нажимаете одну кнопку Disclosure для спонсоров, я хочу, чтобы она перешла на другую страницу, которая просто отображает имя спонсора и веб-представление, содержащее их веб-сайт.Пытаюсь выйти из ViewController с UITableView спонсоров в другой ViewController
Я думал, что настроил метод prepareForSegue соответствующим образом, но ничего не происходит, когда я пытаюсь сделать выбор в своем iOS Simulator. Может кто-то взглянуть на мой код и сказать мне, если я что-то упустил?
SponsorMasterViewController .h файл начинается здесь
#import <UIKit/UIKit.h>
#import "SponsorDetailViewController.h"
@interface SponsorMasterViewController : UITableViewController <UITableViewDataSource,
UITableViewDelegate>
@property (strong, nonatomic) IBOutlet UITableView *tableOfSponsers;
@end
SponsorMasterViewController файл .m начинается здесь
#import "SponsorMasterViewController.h"
@interface SponsorMasterViewController()
@end
@implementation SponsorMasterViewController {
NSArray *allSponsors;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
Sponsor *sponUber = [[Sponsor alloc] init];
sponUber.name = @"Über Operations LLC";
sponUber.url = @"https://www.uberops.com";
Sponsor *sponStar = [[Sponsor alloc] init];
sponStar.name = @"Starbucks";
sponStar.url = @"http://www.starbucks.com";
Sponsor *sponRen = [[Sponsor alloc] init];
sponRen.name = @"Renegade Runner";
sponRen.url = @"https://fsudelivery.com";
Sponsor *sponOEI = [[Sponsor alloc] init];
sponOEI.name = @"Office of Entrepreneurship";
sponOEI.url = @"http://sga.fsu.edu/oei.shtml";
Sponsor *sponJim = [[Sponsor alloc] init];
sponJim.name = @"The Jim Morgan Institute for Global Entrepreneurship";
sponJim.url = @"http://business.fsu.edu/jmi";
Sponsor *sponMail = [[Sponsor alloc] init];
sponMail.name = @"MailChimp";
sponMail.url = @"http://mailchimp.com";
Sponsor *sponGen = [[Sponsor alloc] init];
sponGen.name = @"Genivia";
sponGen.url = @"http://www.genivia.com";
Sponsor *sponFL = [[Sponsor alloc] init];
sponFL.name = @"FLorida IT Career";
sponFL.url = @"https://fitc.cci.fsu.edu";
Sponsor *sponDOMI = [[Sponsor alloc] init];
sponDOMI.name = @"domiventures";
sponDOMI.url = @"http://www.domistation.com";
Sponsor *sponCode = [[Sponsor alloc] init];
sponCode.name = @"Code School";
sponCode.url = @"https://www.codeschool.com";
Sponsor *sponIonic = [[Sponsor alloc] init];
sponIonic.name = @"Ionic Security";
sponIonic.url = @"https://www.ionic.com";
allSponsors = [NSArray arrayWithObjects:sponUber, sponStar, sponRen, sponOEI,
sponJim, sponMail, sponGen, sponFL, sponDOMI, sponCode,
sponIonic, nil];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - TableView Functions
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
//Determine number of sections in my table
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [allSponsors count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *simpleTableIdentifier = @"SponserCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
Sponsor *company = [allSponsors objectAtIndex:indexPath.row];
cell.textLabel.text = company.name;
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
return cell;
}
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"sponsorSegue"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
SponsorDetailViewController *sponsorDetailController = (SponsorDetailViewController *)segue.destinationViewController;
sponsorDetailController.spon = [allSponsors objectAtIndex:indexPath.row];
}
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
@end
SponsorDetailViewController .h файл начинается здесь
#import <UIKit/UIKit.h>
#import "Sponsor.h"
@interface SponsorDetailViewController : UIViewController
@property (nonatomic, strong) IBOutlet UILabel *sponsorName;
@property (nonatomic, strong) IBOutlet UIWebView *webView;
@property (nonatomic, strong) Sponsor *spon;
@end
SponsorDetailViewController .m файл начинается здесь
#import "SponsorDetailViewController.h"
@interface SponsorDetailViewController()
@end
@implementation SponsorDetailViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
//Set the Sponse Label
[self.sponsorName setText:self.spon.name];
//Process sponsor url
NSURL *sponsorURL = [NSURL URLWithString:self.spon.url];
NSURLRequest *request = [NSURLRequest requestWithURL:sponsorURL];
//fit contents of website inside my webview
self.webView.scalesPageToFit = YES;
[self.webView loadRequest:request];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
А я вижу. Спасибо за разъяснение – Talcicio