我正在制作一个“添加朋友”#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
谢谢!
答案 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];
}