Как я могу проверить, имеет ли определенная ячейка табличного представления определенное изображение? - PullRequest
0 голосов
/ 08 октября 2011

В моем приложении вы можете добавлять и удалять ячейки.Я только хочу, чтобы пользователь мог добавить 1 из каждой ячейки.Итак, есть ли способ проверить, есть ли в ячейке определенное изображение?

, например:

if(myTableView.cell.imageView == @"image.png"){
// do something
}

Пожалуйста, помогите!Спасибо

РЕДАКТИРОВАТЬ

Эта кнопка позволяет нам добавлять ячейки и изображения в новые ячейки.

  - (IBAction)outlet1:(id)sender {
if (cart.cell.tag == 1) {
    UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"You have already added this" message:@"Go to My Cart and add more if you like" delegate:self cancelButtonTitle:@"Done" otherButtonTitles:nil, nil];
    [alert show];
    [alert release];
}
else {
[cart.cells addObject:@"1"];
 [[cart.cells lastObject] setTag:1];
UIImage * myImage = [UIImage imageNamed:@"paddle1.png"];
[cart.imageArray addObject:myImage];

}}

поэтому я хочу проверить, была ли эта ячейка уже добавлена!

Ответы [ 2 ]

1 голос
/ 08 октября 2011

Если у вас есть только несколько изображений, отличных от тех, которые вам не нужно проверять, вместо этого вы должны установить номер тега для ячейки, соответствующей изображению, используя [cell setTag: (int)]; поэтому paddle2.png может быть 2, а paddle1.png может быть 1, и вы должны сделать [cell setTag: 1] для paddle1.png. Чем при тестировании просто отметьте тег:

If ([тег ячейки] == 1) { //сделай что-нибудь }

вот код для вашей кнопки:

   - (IBAction)outlet2:(id)sender {
[cart.cells addObject:@"1"];
[[cart.cells lastObject] setTag:2];
UIImage * myImage = [UIImage imageNamed:@"paddle2.png"];
[cart.imageArray addObject:myImage];
}

и вот код теста:

if(myTableView.cell.tag == 2){
// do something
  }
0 голосов
/ 08 октября 2011

Насколько я знаю, вы не можете проверить имя изображения, но вы можете сохранить массив имен изображений, которые хранятся в ячейках. Затем вы можете проверить индекс строки и индекс имен массивов изображений, чтобы убедиться, что это то, что вы ищете:

if ([[[myimages objectAtIndex:i] valueForKey:@"ImageName"] isEqualToString:@"image.png"])
{
   // you got what you were looking for,
}

'i' выше будет значением indexPath.row - я предполагаю, что вы проверяете это на методе делегата didSelectRowAtIndexPath.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...