uisearchbar вылетает после нажатия cancel

#ios #cocoa-touch #cocoa #nsarray #uisearchbar

#iOS #cocoa-touch #какао #nsarray #uisearchbar

Вопрос:

Мой filteredContentForSearchText игнорирует предикат после того, как пользователь нажимает cancel на панели поиска в iOS.

Я фильтрую массив с помощью uisearchbar следующим методом:

 #pragma mark Content Filtering
-(void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope {


    [self.filteredUsersArray removeAllObjects];
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.fullName contains[c] %@",searchText];
    self.filteredUsersArray = [NSMutableArray arrayWithArray:[self.usersArray filteredArrayUsingPredicate:predicate]];

    if ([self.filteredUsersArray count] > 0) { 

    }else{
        User *tempUser = self.addedUsersArray[0];
        tempUser.fullName = [NSString stringWithFormat:@"Search for '%@'", searchText];

        [self.filteredUsersArray addObject:tempUser];

    }
}
 

Все работает идеально, пока пользователь не нажмет cancel или не очистит поиск. После этого действия эта строка больше не соответствует и заполняет массив:

 self.filteredUsersArray = [NSMutableArray arrayWithArray:[self.usersArray filteredArrayUsingPredicate:predicate]];
 

Кто-нибудь знает, почему массив возвращает нулевое значение после нажатия cancel, даже если критерии совпадают?

Комментарии:

1. это ошибка iOS???

2. Можете ли вы показать нам сбой, который вы получаете?