从NSMutablearray删除对象不会工作

时间:2013-12-12 13:45:49

标签: ios iphone objective-c arrays nsmutablearray

我有一个NSMutable数组,我试图从中删除对象以减少

数组上对象数的计数,并且计数总是保持不变,

意思是,删除无效。

以下是代码(来自在线斯坦福IOS开发课程):

- (NSMutableArray *)cards
{
    if (!_cards) _cards = [[NSMutableArray alloc] init];
    return _cards;
}

- (void)addCard:(Card *)card atTop:(BOOL)atTop
{
    if (atTop) {
        [self.cards insertObject:card atIndex:0];
    } else {
        [self.cards addObject:card];
    }
}

- (void)addCard:(Card *)card
{
    [self addCard:card atTop:NO];
}

- (Card *)drawRandomCard
{
    Card* randomCard = Nil;
    NSLog(@"This is the count %d",[self.cards count]);
    if ([self.cards count]) {
        unsigned index = arc4random() % [self.cards count];
        randomCard = self.cards[index];
        [self.cards removeObjectAtIndex:index];
    }
    return randomCard;
}

即使删除了对象,计数也始终为52。

有关如何解决此问题的任何想法?

0 个答案:

没有答案