Xcode - 解决问题

时间:2015-10-10 19:59:24

标签: xcode uitableview segue

我一直试图让一个人工作。我已经写了以下内容......但由于某种原因,...preparesegue...方法无法解决。我已经阅读了其他相关帖子,但我无法解决这个问题,同样重要的是,我所需要的变量并未转移。

m file:

@implementation CountryTableViewController


-(void) getData:(NSData *) data {
    NSError *error;
    json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
    [self.tableView reloadData];
}
-(void) start {
    NSURL *url = [NSURL URLWithString: URL];
    NSData *data = [NSData dataWithContentsOfURL:url];
    [self getData:data];
}

- (void)viewDidLoad {
    [super viewDidLoad];
    [self start];
}

- (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 [json count];
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *cellId = @"CellIdentifier";

    TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];
    if (!cell) {
        cell = [[TableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellId];
    }
    NSDictionary *info = [json objectAtIndex:indexPath.row];

    cell.TitleLabel.text = [info objectForKey:@"CountryName"];
    cell.ReferenceLabel.text = [info objectForKey:@"id"];

    return cell;
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender tableView:(UITableView *)tableView {
    //if ([segue.identifier isEqualToString:@"CountryToState"]) {
    NSLog(@"TEST");
    NSIndexPath *path = [self.tableView indexPathForSelectedRow];

    TableViewCell *cell = (TableViewCell *)[tableView cellForRowAtIndexPath:path];
    NSString *countryRef = [[cell ReferenceLabel] text];

    TableViewControllerStates *TVCS = [segue destinationViewController];
    TVCS.receivedReferenceNumber = countryRef;
    //}
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {


    //TableViewCell *cell = (TableViewCell *)[tableView cellForRowAtIndexPath:indexPath];
    //NSString *countryRefNumber = [[cell ReferenceLabel] text];
    [self performSegueWithIdentifier:@"CountryToState" sender:tableView];

}

h file

#import <UIKit/UIKit.h>
#define URL @"http://localhost/Rs.php"

@interface CountryTableViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource> {
    NSMutableArray *json;
}

任何帮助表示感谢;提前谢谢你。

enter image description here

0 个答案:

没有答案