The thing that's wrong with your code is that nothing in it says which letter of the correct word we are checking against.
For example, suppose the word is "zork" and the user guesses "r". You are trying to walk through "zork" looking to see if "r" matches any letter. But according to your spec, if this is a guess at the first letter, we should just be checking against the first letter ("z") and stop, since the "r" is wrong in that position.
So what you want to write is much simpler than the code you have. You don't want this:
-(void) checkGameLetter : (NSString *) letterToCheck{
You want this:
-(void) checkGameLetter:(NSString*)letterToCheck againstPosition:(NSInteger)position {
And there will be no loop: you will just look right at the letter in that position and see if they are the same.
Finally notice this important fact: ==
does not compare two strings. It asks whether they are the same object, which they manifestly are not. You want isEqualToString:
.