카드의 값이있는 이미지에 카드의 이미지를 설정하려고합니다. KCCard의 image : 메소드는 카드의 이미지를 반환합니다.NSMutableArray에서 객체의 이미지를 업데이트하는 방법은 무엇입니까?
- (UIImage *)image:(BOOL)yesOrNo
{
if (!yesOrNo) {
return [UIImage imageNamed:@"back-blue-150-3.png"];
} else {
return [UIImage imageNamed:[NSString stringWithFormat:@"%@-%@-150", [self suitAsString], [self valueAsString]]];
}
}
거래 방법에 사용하고있는 코드는 다음과 같습니다.
int lastDealerX = 437;
//int lastDealerY = 49;
int lastDealerTag = 0;
for (KCCard *aCard in dealerHand) {
if (lastDealerTag == 0) {
KCCardView *cardView = [[KCCardView alloc] initWithFrame:CGRectMake(lastDealerX, 49, 150, 215)];
cardView.backgroundColor = [UIColor blackColor];
cardView.image = [aCard image:NO];
cardView.tag = lastDealerTag;
[self.view addSubview:cardView];
lastDealerTag = lastDealerTag + 1;
lastDealerX = lastDealerX + 42;
} else {
KCCardView *cardView = [[KCCardView alloc] initWithFrame:CGRectMake(lastDealerX, 49, 150, 215)];
cardView.backgroundColor = [UIColor blackColor];
cardView.image = [aCard image:YES];
cardView.tag = lastDealerTag;
[self.view addSubview:cardView];
lastDealerTag = lastDealerTag + 1;
lastDealerX = lastDealerX + 42;
}
}
태그가 0 인 KCCardView는 카드면이 아래로 보이고 다른 카드가 앞면을 나타냅니다. 문제는 내가 얼굴을 내 보이게해서 카드를 보여주고 싶지 않을 때입니다. 다음은 쇼 코드입니다.
- (IBAction)showCard:(id)sender {
for (UIView *view in self.view.subviews) {
for (KCCard *aCard in dealerHand) {
KCCardView *cardView = (KCCardView *)view;
if (cardView.tag == 0) {
cardView.image = [[dealerHand objectAtIndex:0] image:YES];
}
}
}
}
는 KCCard는 KCCardView가있는 UIImageView이며 dealerHand가있는 NSMutableArray이다 NSObject라는 것이다. http://aleckazarian.com/misc/Blackjack.zip
'yesOrNo'는 아마도 당신이 가질 수있는 가장 약한 변수 이름 중 하나 일 것입니다. 나는 당신의 코드를 훑어 보았다. 그리고 나는 여전히 그것이 의미하는 바를 시도하고 추측해야만한다. –
@Paul.s 글쎄, 그것을 사용하는 경우, 그때 나는 그것이 무엇을 의미 알아. YES는 카드가 표시되고 NO는 뒷면이 표시됨을 의미합니다. – Alec
이것은 사실이지만 일/주/월/년을 지정하면 그 의미를 잊어 버릴 수 있습니다. 들어가는 것은 또한 나쁜 습관입니다. 이름 짓기는 어려운 것이고 나는 물건의 이름을 항상 자르고 바꾸는 경향이 있지만 그 일을해야만하는 다음 사람 (가장 가능성이 높은 사람)을 위해 내 코드가 잘 읽힐 수 있도록하십시오. –