4
テーブルビューを追加しようとしています。誰かが特定のボタンを押すと、ビューがいくつかの選択肢でテーブルビューに切り替わります。ここでTableViewサブビューがクラッシュするappを追加する
はボタンの私のコードです:ここでは
-(IBAction)buttonPressed:(id)sender
{
LevelChoice *level = [[LevelChoice alloc] initWithNibName:nil bundle:nil];
[self.view addSubview:level.view];
[level release];
}
は、コードされているのUITableViewControllerのサブクラス私からスナップ:
LevelChoice.h コード:
@interface LevelChoice : UITableViewController {
NSArray *choices;
}
LevelChoice .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;
}
誰もが私が行方不明です何を知っていますか?
このコードを削除してみてください[レベルリリース]。それが動作するかどうかを確認してください。 – Robin
私はロビンがそれを正しく持っていると思う、コントローラをリリースしないでください。また、テーブルビューを表示するには、コントローラを保持する必要があります。コントローラをモーダルビューとして表示することもできます。また、コントローラをリリースすることもできます。しかし、あなたは単にビューを提示しているので、アプリケーションはクラッシュします。 –
エラーメッセージはどのように表示されますか? – tilo