2012-04-22 92 views
0

我正在製作一個文字遊戲,並且我終於找到了我的遊戲中最重要的部分之一,比較部分。比較,從標籤獲取字符串

我得到這個標籤,當它啓動時,它將被隱藏起來,必須被猜測的單詞在隨機的單詞生成器中顯示。例如,詞是:車庫

現在,我的遊戲我的字與輸入現在我已經用NSString的整個單詞這樣做比較,但我想它的每一個字母進行比較。我希望能夠證明,如果輸入有G作爲第一個字母,就像車庫一樣。我希望它做一些事情。

我想知道這是否可能以及您將使用哪種方法。我正在考慮製作6個字符串,因爲我的所有隨機單詞都有6個字母,然後將單詞分解爲6個字符串和輸入,然後比較字符串?

希望有人有一些有用的提示或示例代碼感謝

+0

Woudn't這樣的話題回答你的問題? http://stackoverflow.com/questions/4158646/most-efficient-way-to-iterate-over-all-the-chars-in-an-nsstring – Stian 2012-04-22 12:06:01

+0

不,我沒有得到那個帖子對不起 – user1342428 2012-04-22 12:10:25

回答

0

因此,假設您的字符串被猜測...

NSString *stringToGuess = @"GARAGE"; 

和你檢查,看它是否開始「GA」

NSString *myString = @"GA"; 

你將與hasPrefix檢查:

if ([stringToGuess hasPrefix:myString]) { 
    // <stringToGuess> starts with <myString> 
} 

NSString的文檔描述了很多關於任何字符串相關的整潔方法。

+0

奧克感謝這個生病檢查出來!謝謝 – user1342428 2012-04-22 13:13:57

0

hasPrefix會讓你知道一個字符串是否以另一個字符串開頭。還有characterAtIndex。你可以使用它從每個字符串中獲取一個字符並將其與另一個字符進行比較。

你可以寫,將採取一個整數索引和索引的兩個字符串比較的方法:

- (BOOL) compareStringOne: (NSString *) stringOne 
    toStringTwo: (NSString *) stringTwo 
    atIndex: (NSUInteger) index; 
{ 
    if ([stringOne length] < index+1 || [stringTwo length] < index+1) 
    return FALSE; 
    return [stringOne characterAtIndex: index] == [stringTwo characterAtIndex: index]; 
}