Здравствуйте, ребята, у меня есть ячейки в табличном представлении, но есть две разные UIB-кнопки, которые должны быть назначены ячейке. Зависит от того, есть ли имя файла с указанием этих ячеек в песочнице.
Я делаю это с помощью следующей функции при создании ячейки.
NSLog(@"%@", filepath);
if ([[NSFileManager defaultManager] fileExistsAtPath:filepath])
{
[button setTitle:@"Submit" forState:UIControlStateNormal];
[button addTarget:self action:@selector(SubmitData:) forControlEvents:UIControlEventTouchUpInside];
}
else
{
[button setTitle:@"Fetch" forState:UIControlStateNormal];
[button addTarget:self action:@selector(FetchData:) forControlEvents:UIControlEventTouchUpInside];
}
но дело в том, что когда я нажимаю кнопку Fetch и когда вызывается функция FetchData, я выбираю данные и сохраняю их в песочнице. Поэтому я хочу обновить кнопку «Отправить», поскольку теперь файл является их.
Итак, нужно ли что-то добавить в функцию FetchData, чтобы обновить кнопку ячейки для отправки,
Я пытался использовать [self.tableview reloaddata];
но не будет обновлять ячейку.
ПОЛНЫЙ КОД
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *FirstLevelCell= @"FirstLevelCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:FirstLevelCell];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:FirstLevelCell] autorelease];
NSDictionary * assignment = [assignments objectAtIndex:[indexPath row]];
cell.textLabel.text= [NSString stringWithFormat:@"Riding Number is %@", [assignment objectForKey:@"Riding_Number"]];
cell.detailTextLabel.text= [NSString stringWithFormat:@"Poll Number is %@",[assignment objectForKey:@"Poll"]];
UIImage *buttonUpImage = [UIImage imageNamed:@"button_up.png"];
UIImage *buttonDownImage = [UIImage imageNamed:@"button_down.png"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0.0, 0.0, (buttonUpImage.size.width)*1.20,
buttonUpImage.size.height);
[button setBackgroundImage:buttonUpImage forState:UIControlStateNormal];
[button setBackgroundImage:buttonDownImage forState:UIControlStateHighlighted];
button.tag = [indexPath row];
NSString * filepath = [self dataFilePathwithFilename:[NSString stringWithFormat:@"%@_%@.plist",[assignment objectForKey:@"Riding_Number"],[assignment objectForKey:@"Poll"]]];
if ([[NSFileManager defaultManager] fileExistsAtPath:filepath])
{
[button setTitle:@"Submit" forState:UIControlStateNormal];
[button addTarget:self action:@selector(SubmitData:) forControlEvents:UIControlEventTouchUpInside];
}
else
{
[button setTitle:@"Fetch" forState:UIControlStateNormal];
[button addTarget:self action:@selector(FetchData:) forControlEvents:UIControlEventTouchUpInside];
}
cell.accessoryView = button;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
}
// Configure the cell...
return cell;
}