因此,对于我的应用程序,我有一个文本字段和一个搜索按钮。 用户输入用户名,我希望它显示在“ usersTable”上。 这是该代码:

- (IBAction)searchButtonPressed:(id)sender {
    NSLog(@"search button pressed");
    NSString *searchedText = _searchField.text;
    //Queries for users.
    PFQuery *filterQuery = [PFQuery queryWithClassName:@"_User"];
    [filterQuery setLimit:1000];
    [filterQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){
        if (!error) {
            // Here you can store fetched data of parse to your array.
            NSArray *filteredData;
            filteredData = [NSArray arrayWithArray:objects];

        }
    }];
     NSArray *filteredData;
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.name contains[c] %@",searchedText];
     NSArray *newArray = [filteredData filteredArrayUsingPredicate:predicate];



}

但是,我完全不知道这是否可以用作过滤系统,以及如何填充数组NSArray的UITableView的“ usersTable”。 该表已被填充,我想删除已经存在的所有内容并在NSArray newArray中显示结果。 有人可以批准此代码并告诉我如何删除,然后填充新的数组吗?

谢谢你的帮助

#1楼 票数:2

正确的方法是使用UISearchController,下面是一个示例: http : //www.jhof.me/simple-uisearchcontroller-implementation/

一种快速的方法是创建一个BOOl属性,该属性将在您搜索/不搜索时更改。 在tableview数据源委托方法中,您可以基于此值查询正确的数组。

#2楼 票数:1

您可以使用NSArray填充“ usersTable”(即UITableView)。 您的userTable(我们称其为myArray)可以是该类的@property:

@interface ViewController()
@property (nonatomic) NSMutableArray *myArray;
@end

然后,为了使用此数组中的数据填充tableView,请确保在tableView委托方法中使用该数组。 例如 :

- (NSInteger)tableView:(UITableView *)tableView
 numberOfRowsInSection:(NSInteger)section
{
    return [self.myArray count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView
         cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

    if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
    }

    cell.textLabel.text = [NSString stringWithFormat:@"%@", [self.myArray objectAtIndex:indexPath.row]];
    return cell;
}

希望这可以帮助。

  ask by user3551818 translate from so

未解决问题?本站智能推荐:

1回复

NSArray和NSObject之间的NSPredicate值匹配

我有一个NSArray ( self.allUsers )里面有PFUser对象: 我可以使用[self.allUsers valueForKey:@"phone"]访问电话号码 我有另一个NSArray ( self.sectionedPersonName )里面有NSObjec
3回复

Objective-C- NSPredicate-过滤包含包含自定义对象的NSArray的字典的NSArray

在我的应用程序中,我在带有部分的UItableView显示联系人列表。 我的数据源是一个NSMutableArray NSDictionaries ,其中包含两种自定义对象类型的数组(请参见下面的debugDescription )。 第一部分显示联系人组名称( SNPgroupData
1回复

在一个TableViewController中显示两组结果

我知道这是一个非常愚蠢的问题,但我无法弄清楚。 每个答案都涉及一个UISearchBar,这不是我所需要的。 我试图在一个TableViewController上显示2组结果。 显示结果 1)在我的一切 managedObjectContext这是建立在我viewDidLoa
1回复

使用NSArray / PFQuery中的数据填充tableview单元格

我正在使用parse.com作为数据库,尽管无法在表中显示该数据,但我在单元格中所需的数据似乎已正确传输到nsarray。 这是查询数据库的方法。 好的,作为大纲中的淋浴,我的查询成功地使用来自数据库中不同表的四个对象(链接在一起)填充了一个数组。 但是我想这并不重要。 我
1回复

在显示“表视图”之前分析数据未加载

我正在使用Parse将数据提取到Table View 。 我正在使用PFQueryTableViewController 。 当我运行该应用程序时,某些“ Parse数据会加载到“ Table View而有些则不会。 因此,我必须拉一下刷新一次才能全部加载。 我尝试将[self.
1回复

PFImageView问题:无法在表视图单元格中显示来自“解析”的图像

我试图在UITableViewCell显示带有PFImageView的图像。 在另一个视图控制器中,我成功完成了此操作(没有tableview)。 如果self.senderId不是nil,我会查询图像并将其加载到单元格中,但SUCCESS日志不会出现在控制台中,因此,我有可能错过了查询内容
3回复

从解析数组中的25k行加载并在表视图中显示

我是Objective-c的初学者,无法弄清楚要在我的应用程序中实现。 我设法从数组中的解析加载行(具有4列)并在表视图中显示。 但是我无法加载所有3k行。 我知道1000个限制。 每次读取1000次后,请指导我如何放置指针。 }
2回复

从UITableViewCell向NSArray添加对象

我创建了一个自定义UITableViewCell ,其中包含PFObject属性和一个按钮。 我希望按钮在NSMutableArray上添加此对象,然后将此Array传递给另一个UIViewController 。 问题是我无法在自定义UITableViewCell实现prepareForS