需要帮助使用委托来更改UITableView

时间:2011-08-07 20:40:07

标签: iphone objective-c xcode uitableview delegates

我设置了一个委托方法,这样当用户从VC2中选择单元格时,它会更新VC1的标题文本然后弹回到它。

现在我需要添加一些代码,让我更改在VC1中加载UITableView的数组,最简单的方法是什么?

在VC 1中

- (void)didChooseValue:(NSString *)string 
{
    self.databaseName = string;
    NSLog(@"Database Name: %@", self.databaseName);
    [self.myTableView reloadData];
}

在VC 2中 - didSelectRowAtIndex

if([delegate respondsToSelector:@selector(didChooseValue:)])
    {
        [delegate performSelector:@selector(didChooseValue:) withObject:myString];
    }

1 个答案:

答案 0 :(得分:1)

您可以在此委托方法本身中添加代码。尝试类似:

- (void)didChooseValue:(NSString *)string 
{
    self.databaseName = string;
    NSLog(@"Database Name: %@", self.databaseName);
    NSMutableArray *carModels = nil;

    if([string isEqualToString:@"Mazda"])
        carModels = [[Database sharedDatabase] getMazdaModels]; 
    else if([string isEqualToString:@"Nissan"])
        carModels = [[Database sharedDatabase] getNissanModels]; //And so on depending on the number of models
    else
        carModels = [[Database sharedDatabase] getDefaultModels];

    self.carAray = carModels;
    [self.myTableView reloadData];
}