基本上家伙试图2把表分成两个不同的部分,但无论我尝试它似乎不工作,有是我的代码,请你能告诉我哪里出错了,示例将不胜感激!没有人设法解决这个问题,我一直坚持一段时间。感谢Sam Houghton。
#import <Foundation/Foundation.h>
@interface FirstLevelViewController : UITableViewController {
NSArray *controllers;
NSMutableArray *male;
NSMutableArray *female;
}
@property (nonatomic, retain) NSArray *controllers;
@property (nonatomic, retain) NSMutableArray *male;
@property (nonatomic, retain) NSMutableArray *female;
@end
#import "FirstLevelViewController.h"
#import "SecondLevelViewController.h"
#import "DisclosureDetailController.h"
#import "SecondVoiceController.h"
#import "ThirdVoiceController.h"
@implementation FirstLevelViewController
@synthesize controllers,male,female;
-(void)viewDidLoad {
self.title = @"Voices";
DisclosureDetailController *th = [DisclosureDetailController alloc];
th.title = @"First Voice";
[male addObject:th];
[th release];
SecondVoiceController *array2 = [SecondVoiceController alloc];
array2.title = @"Second Voice";
[male addObject:array2];
[array2 release];
ThirdVoiceController *array3 = [ThirdVoiceController alloc];
array3.title = @"Third Voice";
[female addObject:array3];
[array3 release];
self.controllers = male;
[female release];
[male release];
[super viewDidLoad];
}
-(void)viewDidUnload {
self.male = nil;
self.female = nil;
self.controllers = nil;
[super viewDidUnload];
}
-(void)dealloc {
[male release];
[female release];
[controllers release];
[super dealloc];
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 2;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
switch(section){
case 0:
return [male count];
break;
case 1:
return [female count];
break;
}
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *FirstLevelCell= @"FirstLevelCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:FirstLevelCell];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:FirstLevelCell] autorelease];
}
SecondLevelViewController *controller;
switch([indexPath section]){
case 0:
controller = [male objectAtIndex: [indexPath row] ];
break;
case 1:
controller = [female objectAtIndex: [indexPath row] ];
break;
}
cell.textLabel.text = controller.title;
cell.imageView.image = controller.rowImage;
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSUInteger row = [indexPath row];
SecondLevelViewController *nextViewController = [self.controllers objectAtIndex:row];
[self.navigationController pushViewController:nextViewController animated:YES];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return NO;
}
@end
基本上家伙试图2把表分成两个不同的部分,但无论我尝试它似乎没有工作,还有我的代码,请你能告诉我,我要去哪里错了,例子是大大不胜感激!没有人设法解决这个问题,我一直坚持一段时间。感谢Sam Houghton
不完全确定你正在尝试做什么,但是这肯定看起来不正确: DisclosureDetailController * th = [DisclosureDetailController alloc]; 你应该有[[DisclosureDetailController alloc] init]; – hundreth
你可以更新你的文章,以便它使用的代码块? – Rob
嗯,我正在尝试创建一个表格视图,它有三个单元格,这些单元格都会推动一个新的视图。我需要前两个单元格放在桌子上的男性部分中,第三个女孩放在桌子上的另一个女性部分中我不知道如何将我的三个单元格分成不同的部分,谢谢Sam Houghton – Sam