如何将responseObject放入UITableView中的单元格中

时间:2016-01-28 17:57:37

标签: objective-c uitableview afnetworking

我正在制作一个“添加朋友”#39;功能,可以搜索用户名。我有一个out,其中包含一组用户。我只想为所有用户获取responeObject对象,然后在TableView中列出它们。如果我搜索" e"我得到3个结果:

@"name"

如何在3个不同的单元格中找出所有3个名字? 当我在里面运行代码时,为什么会出现错误?:

responseObject: (
    {
    id = 1;
    isUsersAccount = 0;
    name = Eshixf;
},
    {
    id = 3;
    isUsersAccount = 0;
    name = Neigstal;
},
    {
    id = 4;
    isUsersAccount = 0;
    name = Howie;
})

它给了我这个错误:

  

- [__ NSCFArray objectForKey:]:无法识别的选择器发送到实例0x7faec35f4d40

谢谢!

1 个答案:

答案 0 :(得分:1)

你可以通过简单的迭代来获得所有名称而非响应。

NSArray *response = friendRow[0]; // this is result dictionaries in an array. actually it is your responseObject.

//NSMutableArray *names = [NSMutableArray new];
names = [NSMutableArray new];//if declared outside the method, use this array as a dataSource for tableView.
for(NSDictionary *dict in response)
{
     [names addObject:dict[@"name"]];
}
NSLog("names %@", names);

//refresh your tableview;
[yourTableView reloadData];

TableView的编辑:

在界面中创建名称

NSMutableArray *names;
委托方法中的

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier     forIndexPath:indexPath];
    [cell.textLabel setText:names[indexPath.row]];
    return cell;
}

使用此方法,tableview将知道它需要多少个单元格。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

// Return the number of rows in the section.
     return [names count];
}