У меня есть класс под названием KCBlackjack
. Класс содержит этот код:Невозможно добавить объект в NSMutableArray
playerHand = [[NSMutableArray alloc] init];
dealerHand = [[NSMutableArray alloc] init];
blackjack = [[KCBlackjack alloc] initWithNumberOfDecks:6];
[self deal];
[blackjack dealTo:playerHand dealer:dealerHand];
- (void)dealTo:(NSMutableArray *)player dealer:(NSMutableArray *)dealer {
// How many cards are left
NSLog(@"Cards in Deck: %d", [_decks count]);
// Deal to player then dealer
for (int i = 0; i <= 1; i++) {
[player addObject:[_decks lastObject]];
[_decks removeLastObject];
NSLog(@"%@", player);
if(_delegate && [_delegate respondsToSelector:@selector(didDistributeCard:withValue:)]) {
KCCard *aCard = (KCCard *)[player objectAtIndex:player.count-1];
[_delegate didDistributeCard:aCard to:player withValue:[aCard value]];
}
[dealer addObject:[_decks lastObject]];
[_decks removeLastObject];
NSLog(@"%@", dealer);
if(_delegate && [_delegate respondsToSelector:@selector(didDistributeCard:withValue:)]) {
KCCard *aCard = (KCCard *)[dealer objectAtIndex:dealer.count-1];
[_delegate didDistributeCard:aCard to:dealer withValue:[aCard value]];
}
}
NSLog(@"Done Dealing");
NSLog(@"Cards Remaining in Deck: %d", [_decks count]);
NSLog(@"Player: %@\n\n", player);
NSLog(@"Dealer: %@\n\n", dealer);
}
Внутри моего игрового контроллера, я поставил player
к моему массиву игрока, а также дилер HIS. Однако, когда это выполняется, оно не работает. Никакие объекты не добавляются в массив игроков, которым назначен игрок или дилер.
Когда код находится в игровом контроллере, он работает, но не в этом классе. Я считаю, что что-то не инициализируется, но в игровом контроллере игрок и дилер инициализируются.
Проверьте, что вы инициализировали NSMutableArray в этом классе. –
Какой класс? Мой KCBlackjack или контроллер просмотра игры? – Alec
Можете ли вы более четко указать, какие части не работают? Когда вы добавляете точку останова/NSLog после добавления объекта в ваш игровой массив, добавляет ли он [_decks lastObject]? –