나는 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
을 설정합니다. 그러나 이것이 실행되면 작동하지 않습니다. 플레이어 나 딜러가 배정 된 플레이어 배열에는 어떤 오브젝트도 추가되지 않습니다.
코드가 게임 컨트롤러에 있으면 작동하지만이 클래스에서는 작동하지 않습니다. 무언가가 초기화되지 않는다고 생각하지만, 게임 컨트롤러에서는 플레이어와 딜러가 모두 초기화됩니다.
이 클래스에서 NSMutableArray를 초기화했는지 확인하십시오. –
어떤 클래스입니까? 내 KCBlackjack 또는 게임보기 컨트롤러? – Alec
어떤 부분이 작동하지 않는지 더 분명하게 나타낼 수 있습니까? 플레이어 배열에 객체를 추가 한 후에 중단 점/NSLog를 추가하면 실제로 [_decks lastObject]가 추가됩니까? –