他のUITableViewにプッシュできないようです。コードを実行すると、EventType のみが表示され、クリックすると、他の UITableView にプッシュが送信され、イベントが表示されます。コードは、1 つの UITableView を別の UITableView にプッシュすることを想定しています。誰かが私が抱えているこの問題を解決するのを手伝ってくれませんか。RootViewController から来ていると思いますが、問題がどこにあるかを特定することはできません。
アプリケーションは正常に動作していますが、他の TableViewController にプッシュできません。使用されるコードは次のとおりです。使用されるコードは次のとおりですが、ほとんどのセットアップは IB を使用して行われるため、実際にはあまり明らかになりません。
これはRootViewController.m
- 問題はこれから発生していると思いますが、どこからか特定できないようです。
#import "RootViewController.h"
#import "EventTypeViewController.h"
@interface RootViewController ()
@end
@implementation RootViewController
@synthesize eventType;
- (void) viewDidLoad
{
eventType = [[NSMutableArray alloc]init];
[eventType addObject:@"Corporate"];
[eventType addObject:@"Social"];
[eventType addObject:@"Dining"];
[self setTitle: @"Events"];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [eventType count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
cell.textLabel.text = [[eventType objectAtIndex:indexPath.row]retain];
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
return cell;
}
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
EventTypeViewController *events = [[EventTypeViewController alloc] initWithNibName:@"EventTypeViewController" bundle:nil];
if ([[eventType objectAtIndex:indexPath.row] isEqual:@"Corporate"])
{
events.eventsInt = 0;
[events setTitle:[eventType objectAtIndex:indexPath.row]];
}
if ([[eventType objectAtIndex:indexPath.row] isEqual:@"Social"])
{
events.eventsInt = 1;
[events setTitle:[eventType objectAtIndex:indexPath.row]];
}
if ([[eventType objectAtIndex:indexPath.row] isEqual:@"Dining"]) {
events.eventsInt = 2;
[events setTitle:[eventType objectAtIndex:indexPath.row]];
}
[self.navigationController pushViewController:events animated:YES];
}
@end
これはEventTypeViewController.m
- 私はそれについて多くを言う必要はありません。
#import "EventTypeViewController.h"
@interface EventTypeViewController ()
@end
@implementation EventTypeViewController
@synthesize eventsInt;
- (void)viewDidLoad
{
corporateArray = [[NSMutableArray alloc]
initWithObjects:@"Corporate 1", @"Corporate 2", @"Corporate 3", @"Corporate 4", nil];
socialArray = [[NSMutableArray alloc]
initWithObjects:@"Social 1", @"Social 2", nil];
diningArray = [[NSMutableArray alloc]
initWithObjects:@"Dining 1", @"Dining 2", @"Dining 3", nil];
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
#warning Potentially incomplete method implementation.
// Return the number of sections.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (eventsInt == 0)
return [corporateArray count];
if (eventsInt == 1)
return [socialArray count];
if (eventsInt == 2)
return [diningArray count];
[self.tableView reloadData];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"]autorelease];
}
// Configure the cell...
if (eventsInt == 0)
cell.textLabel.text = [[corporateArray objectAtIndex:indexPath.row]retain];
if (eventsInt == 1)
cell.textLabel.text = [[socialArray objectAtIndex:indexPath.row]retain];
if (eventsInt == 2)
cell.textLabel.text = [[diningArray objectAtIndex:indexPath.row]retain];
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
return cell;
}
@end