いくつかのNSString要素を含む配列があり、検索バーがあるビューもあります。ユーザーが検索フィールドに各NSString要素のサブストリングとして書き込んだ内容の検索を開始したいと思います。NSString要素に部分文字列が含まれている場合は、それを新しい配列に追加します。私はコードでこれをやろうとしました、そしてそれはうまくいきます、しかしそれはオブジェクトを追加し続けます、それはすでにそれらのためにあります、それで誰かがなぜ何か考えを持っていますか?私はすでに代理人を自分自身に設定しました。
//.h @interface class1
@property(strong, nonatomic) NSMutableArray *allExercisesNames;
@property (weak, nonatomic) IBOutlet UISearchBar *searchBar;
@property(strong, nonatomic) NSMutableArray *foo;
@end
//.m
@implementation class1
-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
for(int i = 0; i < _allExercisesNames.count;i++)
{
if([[_allExercisesNames objectAtIndex:i] rangeOfString:searchBar.text].location != NSNotFound)
{
if(_foo == nil)
{
_foo = [[NSMutableArray alloc]initWithObjects:[_allExercisesNames objectAtIndex:i], nil];
[self.gridView reloadData];
}
else
{
[_foo addObject:[_allExercisesNames objectAtIndex:i]];
[self.gridView reloadData];
}
}
}
if([searchBar.text isEqualToString:@""] || searchBar.text==nil)
//![_allExercisesNames containsObject:searchBar.text
{
_foo = nil;
[self.gridView reloadData];
}
}