我是xcode和objective-c的初学者,我只是按照我在youtube上观看的课程中的所有步骤来创建刽子手游戏。但是在开关盒中有一个错误 当我输入错误的字母时,图像应该更新,但是当我输入第二个错误的字母时它会转到默认情况并重新开始。 (但在正确的情况下,字符串的长度(WrongLetter)应该增加1,然后输入案例2,依此类推)。
这个词是:科罗拉多(对于那些将负责该计划的人)
if (match==NO)
{
self.WrongLetter = [self.WrongLetter stringByReplacingOccurrencesOfString:LetterToCheck withString: @""];
self.WrongLetter = [self.WrongLetter stringByAppendingString:LetterToCheck];
switch (self.WrongLetter.length) {
case 1:
{self.HangMan.image = [UIImage imageNamed:@"head"];
break;}
case 2:{
self.HangMan.image = [UIImage imageNamed:@"HB"];
break;}
case 3:{
self.HangMan.image = [UIImage imageNamed:@"HBA"];
break;}
case 4:{
self.HangMan.image = [UIImage imageNamed:@"HBAs"];
break;}
case 5:{
self.HangMan.image = [UIImage imageNamed:@"HBAL"];
break;}
case 6:{
self.HangMan.image = [UIImage imageNamed:@"CompleteMan"];
break;}
default:{
[self SetHangManWord:self.CorrectWord];
break; }
} }
这是我的项目: http://www.2shared.com/file/BLHIQ6kQ/HM_online.html
这是youtube上的教训: http://www.youtube.com/watch?v=I63BSGsFnEw
我将不胜感激任何帮助:)
答案 0 :(得分:3)
改变这个:
@property (weak, nonatomic) IBOutlet NSString *WrongLetter;
对此:
@property (strong, nonatomic) NSString *WrongLetter;
WrongLetter属性过早发布。在第二次迭代中,它只是空的。
用首字母大写来命名变量是一种不好的做法。通常,班级名称获得首字母大写。