1

に単語リストが保存されてNSArrayいますが、末尾が「ing」の単語をすべて検索したいと思います。

誰かが私にいくつかのサンプル/擬似コードを提供してくれませんか。

4

4 に答える 4

8

NSPredicateフィルタリングに使用しますNSArrays

NSArray *array = @[@"test", @"testing", @"check", @"checking"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF ENDSWITH 'ing'"];
NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];
于 2012-10-07T15:45:27.137 に答える
4

配列が定義されているとしましょう:

NSArray *wordList = // you have the contents defined properly

次に、ブロックを使用して配列を列挙できます

// This array will hold the results.
NSMutableArray *resultArray = [NSMutableArray new];

// Enumerate the wordlist with a block
[wordlist enumerateObjectsUsingBlock:(id obj, NSUInteger idx, BOOL *stop) {
    if ([obj hasSuffix:@"ing"]) {
        // Add the word to the result list
        [result addObject:obj];
    }
}];

// resultArray now has the words ending in "ing"

(私はこのコードブロックでARCを使用しています)

ブロックを使用した例を示しています。これは、必要に応じてより多くのオプションが提供され、コレクションを列挙するためのより現代的なアプローチであるためです。同時列挙でこれを行うこともでき、パフォーマンス上の利点も得られます。

于 2012-10-07T15:49:31.503 に答える
2

それをループして、次のようなサフィックスを確認してください。

for (NSString *myString in myArray) {
  if ([myString hasSuffix:@"ing"]){
    // do something with myString which ends with "ing"
  }
}
于 2012-10-07T15:44:58.637 に答える
1
NSMutableArray *results = [[NSMutableArray alloc] init];

// assuming your array of words is called array:
for (int i = 0; i < [array count]; i++)
{
    NSString *word = [array objectAtIndex: i];
    if ([word hasSuffix: @"ing"])
        [results addObject: word];
}

// do some processing

[results release]; // if you're not using ARC yet.

最初から入力すると、機能するはずです:)

于 2012-10-07T15:44:46.460 に答える