Completed arrays

I have a feeling there is a much better way to write out the following block of code:

```objective-c
- (BOOL) characterArrayContainsWorf:(NSArray *)characterArray {
    /* WORK HERE */
    for (NSString *findWorf in characterArray) {
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF CONTAINS 'worf'"];
        [characterArray filteredArrayUsingPredicate:predicate];
    }
    return characterArray;
}
```

Any tips? Moreover, I'm curious as to how I should discover which subclasses I should consider when working through the exercises and code in general.
While this works, it is definitely not the preferred way. In the checkpoint they are talking about using NSPredicate for filtering:

    NSPredicate *containsThe = [NSPredicate predicateWithFormat:@"SELF CONTAINS[c] 'the'"];
    [myMutableTodoList filterUsingPredicate:containsThe];

You should consider using that instead.