4
我想添加一個tableview,所以當有人按下某個按鈕時,視圖會切換到幾個選擇的tableview。添加TableView子視圖崩潰的應用程序
這裏是我的按鈕代碼:
LevelChoice.h 代碼:
@interface LevelChoice : UITableViewController {
NSArray *choices;
}
LevelChoice
-(IBAction)buttonPressed:(id)sender
{
LevelChoice *level = [[LevelChoice alloc] initWithNibName:nil bundle:nil];
[self.view addSubview:level.view];
[level release];
}
這裏是代碼從我的UITableViewController的子卡.m
代碼:
-(void)viewDidLoad
{
choices = [[NSArray alloc] initWithObjects:@"Level 1", @"Level 2", @"Level 3", nil];
[super viewDidLoad];
}
代碼:
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 3;
}
-(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:CellIdentifier] autorelease];
}
cell.text = [choices objectAtIndex:indexPath.row];
return cell;
}
有誰知道我錯過了什麼?
嘗試刪除此代碼[level release];並看看它是否有效。 – Robin
我認爲羅賓已經說得對,不要釋放控制器。同樣爲了呈現一個桌面視圖,你必須保留它的控制器。因此,您可以將控制器作爲模態視圖呈現,您也可以將其釋放。但是,由於您只是呈現應用程序崩潰的視圖。 –
錯誤信息是什麼樣的? – tilo