1

私は混乱しており、直面しているエラーを排除するためにさまざまなことを試しました。

私はタンパク質の NSArray を持っています。私のストーリーボードには、タンパク質配列を表示したい 2 つの別々のテーブル ビューがあります。

-(UITableViewcell *) と @end にエラーがあり、そのうち 2 つの } エラーがあります。

誰かが助けてくれる場合は、以下の ViewController.m コードを見つけてください: (末尾近くのセグエ コーディングは無視してください)

#import "JViewController.h"
#import "OneViewController.h"
#import "TwoViewController.h"

@interface JViewController ()

@end

@implementation JViewController
{
    NSArray *proteins;
}

@synthesize tableView1;
@synthesize tableView2;

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    proteins = [NSArray arrayWithObjects:@"Chicken", @"Turkey", @"Ham", @"Steak", @"Pork   Chop",     @"Roast Lamb", @"Salmon", @"Egg", @"Lentils", @"Kidney Beans", nil];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    if (tableView == tableView1) {
        return [proteins count];
    {
    if (tableView == tableView2) {
        return [proteins count];
    }
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"ProteinCell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
    if (tableView1 == tableView2)
    {
        proteins;
    }
    else
    {
        proteins;
    }

    cell.textLabel.text = [proteins objectAtIndex:indexPath.row];
    return cell;
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"showMealOneDetail"])
    {
    NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
    OneViewController *destViewController = segue.destinationViewController;
    destViewController.proteinName = [proteins objectAtIndex:indexPath.row];
    }
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

よろしくお願いします。

4

1 に答える 1

0

ここには 2 つの開き括弧があります。これを閉じます。

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    if (tableView == tableView1) {
        return [proteins count];
   ->> {
    if (tableView == tableView2) {
        return [proteins count];
    }
}

そして、これはどういう意味ですか?

    if (tableView1 == tableView2)
{
    proteins;
}
else
{
    proteins;
}

これを試して:

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"ProteinCell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }


    cell.textLabel.text = [proteins objectAtIndex:indexPath.row];
    return cell;
}

1 つのテーブルビューで何かを表示できましたか? dataSource とデリゲートが接続されていることを確認してください。

それが役立つことを願っています=)

于 2012-11-21T10:31:09.410 に答える