0

我目前正在尝试在我的 iPhone 应用程序上实现一个表视图,它从一个表视图/类中获取一个数组,并使用这个数组在另一个单独的视图中填充一个表。这是我使用的方法,如果单击/点击,则将练习添加到数组中:

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

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    NSString *str = cell.textLabel.text;
    NSUInteger *index = 0;

    NSMutableArray *array = [[NSMutableArray alloc] init];
    [array insertObject:str atIndex:index];

    self.workout = array;

    [array release];
}

按下保存按钮后,该数组将存储在我想在另一个视图中填充的锻炼数组(数组)中。我采取了正确的方法吗?

这是我的 cellForRowAtIndexPath 方法:

- (UITableViewCell *)tableView:(UITableView *)tableView 
         cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSUInteger section = [indexPath section];
    NSUInteger row = [indexPath row];

    NSString *key = [keys objectAtIndex:section];
    NSArray *nameSection = [names objectForKey:key];

    static NSString *SectionsTableIdentifier = @"SectionsTableIdentifier";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:
                             SectionsTableIdentifier ];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault 
                                       reuseIdentifier: SectionsTableIdentifier ] autorelease];
    }

    cell.textLabel.text = [nameSection objectAtIndex:row];
    return cell;
}
4

1 回答 1

1

您可能不想self.workout每次都使用新数组重新初始化。

-(void) viewDidLoad
{
  self.workout = [[NSMutableArray alloc] init];
}

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

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    NSString *str = cell.textLabel.text;
    [self.workout insertObject:str atIndex:0];
}
于 2012-04-09T16:46:28.490 回答