加信到字符串目标C若跌破声明

问题描述:

你好是我使用加信到字符串目标C若跌破声明

currentCardDisplayed = [NSMutableString stringWithFormat:@"%@.png", [[cardsShuffled objectAtIndex:currentCard-1] substringToIndex:[[cardsShuffled objectAtIndex:currentCard-1] length]-1]]; 

NSString *rule; 

if([[currentCardDisplayed stringByAppendingString:@"e"] isEqualToString:currentCardName]){ 
    rule = @"drink"; 
}else if([[currentCardDisplayed stringByAppendingString:@"2"]isEqualToString:currentCardName]){ 
    rule = @"drink2"; 
}else if([[currentCardDisplayed stringByAppendingString:@"3"]isEqualToString:currentCardName]){ 
    rule = @"drink3"; 
}else if([[currentCardDisplayed stringByAppendingString:@"4"]isEqualToString:currentCardName]){ 
    rule = @"drink4"; 
}else if([[currentCardDisplayed stringByAppendingString:@"5"]isEqualToString:currentCardName]){ 
    rule = @"drink5"; 
}else if([[currentCardDisplayed stringByAppendingString:@"6"]isEqualToString:currentCardName]){ 
    rule = @"drink6"; 
}else if([[currentCardDisplayed stringByAppendingString:@"7"]isEqualToString:currentCardName]){ 
    rule = @"drink7"; 
}else if([[currentCardDisplayed stringByAppendingString:@"8"]isEqualToString:currentCardName]){ 
    rule = @"drink8"; 
}else if([[currentCardDisplayed stringByAppendingString:@"9"]isEqualToString:currentCardName]){ 
    rule = @"drink9"; 
}else if([[currentCardDisplayed stringByAppendingString:@"0"]isEqualToString:currentCardName]){ 
    rule = @"drink10"; 
}else if([[currentCardDisplayed stringByAppendingString:@"k"]isEqualToString:currentCardName]){ 
    rule = @"drinkjack"; 
}else if([[currentCardDisplayed stringByAppendingString:@"n"]isEqualToString:currentCardName]){ 
    rule = @"drinkqueen"; 
}else if([[currentCardDisplayed stringByAppendingString:@"g"]isEqualToString:currentCardName]){ 
    rule = @"drinkking"; 
} 
NSLog(@" %@ ", currentCardDisplayed); 
NSLog(@" %@ ", currentCardName); 
NSLog(@"%@", rule); 
NSLog(@" %@", [cardsShuffled objectAtIndex:currentCard-1]); 
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Rules" message:rule delegate:nil cancelButtonTitle:@"Okay" otherButtonTitles:nil, nil]; 

[alert show]; 

我试图添加到末尾的字母没有到达那里的代码。我首先删除了一个字母,但是然后在我的if语句中,我想检查是否向该变量添加了另一个字母,它等于另一个字符串。

任何人都可以看到我错了

下面是从

2012-12-11 20:06:50.853 Kings_1.03[4915:c07] club.png 
2012-12-11 20:06:50.855 Kings_1.03[4915:c07] club9.png 
2012-12-11 20:06:50.857 Kings_1.03[4915:c07] (null) 
2012-12-11 20:06:50.858 Kings_1.03[4915:c07] club9 

任何帮助表示赞赏

的nslogs输出样品感谢你

您必须添加.png在你做if测试后。用你的例子,你现在的做法是将9添加到club.png中,这会让club.png9不是club9,所以你的测试永远不会满足。

最简单的方法可能会不追加在第一行巴纽,然后在你的if语句,追加两个字母/数字和.png,所以:

}else if([[currentCardDisplayed stringByAppendingString:@"9.png"]isEqualToString:currentCardName]){ 
    rule = @"drink9"; 
+0

笏做你的意思,你能举出一个你认为不错的例子吗?或者这是你的意思,如果([[currentCardDisplayed stringByAppendingString:@“e.png”] isEqualToString:currentCardDisplayed]){0} {0}条规则@ @“drink”; } –

+0

@AlanFletcher,不,只要在第一行中定义currentCardDisplayed时不添加.png,那么测试就可以工作。 – rdelmar

+0

@AlanFletcher,很抱歉,不会因为您将它与具有.png的字符串进行比较而无法正常工作。 – rdelmar