Objective-C中的数组问题,想要重用数组但无法删除以前的值

时间:2014-10-21 00:04:23

标签: ios objective-c arrays xcode uicollectionview

我在以下函数中使用的数组存在问题

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath

使用UICollectionView调用此函数。给我问题的代码如下:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    CollectionCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"myCollectionCell" forIndexPath:indexPath];

    NSInteger *numEmptyCells = (int*)([self getNumberFirstDayOfMonth:[self getNameOfFirstMonthDay:datePickerDateString]]);


    if (!tempMutableArray)
    {
        tempMutableArray = [[NSMutableArray alloc] init];
    }
    [tempMutableArray removeAllObjects];
    tempMutableArray = [[NSMutableArray alloc] init];



    for (int i = 0; i < [self getNumberFirstDayOfMonth:[self getNameOfFirstMonthDay:datePickerDateString]]; i++)
    {
        [tempMutableArray addObject:[NSString stringWithFormat:@"%d", i]];
        //[tempMutableArray addObject:@"empty"];
    }

    [tempMutableArray addObjectsFromArray:monthDatesObjectsArray];

    if (cell != nil)
    {
        if ([tempMutableArray containsObject:[NSString stringWithFormat:@"%d", indexPath.row]])
        //if ([tempMutableArray containsObject:[NSString stringWithFormat:@"%@", @"empty"]])
        {
            //[cell updateCollectionCell:nil cellImage:nil];
            [cell setHidden:true];
        }
        else
        {
            [cell updateCollectionCell:[NSString stringWithFormat:@"%d", (indexPath.row - (int)numEmptyCells + 1)] cellImage:nil];
        }

    }

    return cell;

    //return nil;
}

我所拥有的是我正在调用另一个函数,并且其中的所有对象都被添加到名为tempMutableArray的下面的数组中,该数组首先添加了一些值,这些值应该由if语句在下面检测

  

if([tempMutableArray containsObject:[NSString stringWithFormat:@“%d”,   indexPath.row]])

首先,将这些值添加到tempMutableArray,然后将另一个数组添加到名为tempMutableArray的{​​{1}}。我所拥有的是,当单元格首次填充值时,函数的工作方式与我想要的一样,但第二次使用值填充单元格时从for循环中添加的值

monthDatesObjectsArray

有随机数,然后会弄乱其余的单元格,因为如果这些值的值等于单元格中的其他值,那么这些单元格将被for (int i = 0; i < [self getNumberFirstDayOfMonth:[self getNameOfFirstMonthDay:datePickerDateString]]; i++) { [tempMutableArray addObject:[NSString stringWithFormat:@"%d", i]]; //[tempMutableArray addObject:@"empty"]; } 禁用。如何确保每次单元格都填充值我没有得到随机值?请参阅我提供的链接以获取一些屏幕截图。任何建议表示赞赏。感谢。

截图图片:https://drive.google.com/folderview?id=0BzaP1abbReAhVzhCeEY2eFZibFE&usp=sharing

0 个答案:

没有答案