我不太擅长编码,我的代码中有一个严重的问题,我想把我的json数据从一个talbe显示到另一个talbe,例如:在第一个表视图中,我想显示学生的姓名,点击姓名后,它将跳到下一个表视图,并显示该学生所选的课程(一个学生可能有多个课程),那么我该怎么做呢?这是第一个表景中的mycode
- (void)viewDidLoad
{
[super viewDidLoad];
// Uncomment the following line to preserve selection between presentations.
// self.clearsSelectionOnViewWillAppear = NO;
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
self.navigationItem.Title = @"選擇類別";
// classify = [[NSArray alloc] initWithObjects: @"時尚類",@"飲食類",@"娛樂類",@"文創類", nil];
// NSString *path = [[NSBundle mainBundle] pathForResource:@"DataList" ofType:@"plist"];
// classify_ = [[NSMutableArray alloc] initWithContentsOfFile : path];
NSURL *url = [NSURL URLWithString:@"http://localhost/store.php"];
NSData *jsonData=[NSData dataWithContentsOfURL:url];
NSError *error = nil;
classify_ = [NSJSONSerialization JSONObjectWithData:jsonData options:
NSJSONReadingMutableContainers error:&error];
}
- (BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
//table cell count
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
return [self.classify count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell.textLabel.text = [[self.classify objectAtIndex:indexPath.row] objectForKey:@"classify"];
return cell;
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Make sure your segue name in storyboard is the same as this line
if ([[segue identifier] isEqualToString:@"Second"])
{
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
//NSManagedObject *object = [[self fetchedResultsController] objectAtIndexPath:indexPath];
[[segue destinationViewController] setSecondClassify:[self.classify objectAtIndex:indexPath.row]];
}
}
tableView1.m:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showDetail"]) {
NSIndexPath *indexPath = [myTable indexPathForSelectedRow];
NSDictionary *item = [displayItems objectAtIndex:[indexPath row]];
[[segue destinationViewController] setDetailItem:item];
}
}
tableView2.h:
@property (strong, nonatomic) id detailItem;
tableView2.m:
- (void)setDetailItem:(id)newDetailItem
{
if (_detailItem != newDetailItem) {
_detailItem = newDetailItem;
// Update the view.
[self configureView];
}
}
- (void)configureView
{
if (self.detailItem) {
itemID = self.detailItem;
[self getCourse];
}
}
- (void)getCourse{
NSString *code = [NSString stringWithFormat:@"user=%@", itemID];
NSData *postData = [code dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSURL *url = [NSURL URLWithString:@"http://localhost/getUser.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:postData];
NSURLResponse *response;
NSError *error;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
allCourseArray = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
NSDictionary *item = [allCourseArray objectAtIndex:0];
NSString *courseName = [item objectForKey:@"courseName"];
NSString *courseCode = [item objectForKey:@"courseCode"];
}