0

TableViewController と DetailViewController があります。DetailViewController で「label」という名前のラベルを 1 つ変更したいと思います。

TableViewController.h :

@interface CodexTableView : UIViewController <UITableViewDelegate,     UITableViewDataSource>
{
 NSMutableArray *listOfItems;
    DetailViewController *vc;



}
@property (nonatomic, retain) DetailViewController *vc;
@property (strong, nonatomic) IBOutlet UITableView *myTable;

@end

そして、私の TableViewController.m の抜粋:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

vc.label.text = @"bonjour";


//UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
//NSLog(@"%@",cell.textLabel.text);

DetailViewController *dvController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:[NSBundle mainBundle]];

dvController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:dvController animated:YES];
[dvController release];
dvController = nil;

}

しかし、うまくいきません。誰かがエラーを知っていますか? 私を助けてください。ありがとう :)

4

1 に答える 1

0

詳細ビューコントローラの2つの変数を混同します。次のように、1つを削除して、プロパティでdvControllerのみ機能します。vc

vc = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:[NSBundle mainBundle]];
[[vc label] setText:@"bonjour"];

詳細ビューコントローラlabelのプロパティを作成し、画面上のラベルを指すようにします。

于 2012-09-26T14:36:47.337 に答える