使用TableView分组显示plist内容出错

Decylus 发布于 2012/07/14 12:37
阅读 972
收藏 0
iOS

我是一个初学者,在练习使用TableView的时候,用plist储存了一个联系人列表.(分了3个类,里面各有一些联系人.

运行的时候报错 [_NSCFDictionnary objectAtIndex:] unrecognized selector sent to instance...

查资料说,是因为调用了不存在的函数,可是 我用objectAtIndex: 的是个NSArray啊,报错行见下面注释.

快2小时了,求大牛,好心人告知,谢谢!

.h 里定义了contactTitles,groups

viewDidLoad里面

 NSString *path=[[NSBundle mainBundle]pathForResource:@"Contacts" ofType:@"plist"];

    NSDictionary * dict=[[NSDictionary alloc]initWithContentsOfFile:path];

    self.contactTitles=dict;

    NSArray *array=[[contactTitles allKeys]sortedArrayUsingSelector:@selector(compare:)];

    self.groups=array;

.m中显示cell的代码

-(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
   static NSString *CellIdentifier=@"Contacts"; 
    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if(cell==nil)
   {

        cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

    }
    NSString *group=[groups objectAtIndex:[indexPath section]];
    NSArray *contactSection=[contactTitles objectForKey:group];
    NSString *cellValue=[contactSection objectAtIndex:[indexPath row]];//这里报错
    cell.textLabel.text=cellValue;                  
    return cell;
}


加载中
0
Railgun
Railgun

你Contacts.plist中的key对应的object里有不是数组对象而是字典对象。

请检查你的Contacts.plist中的所有数据,确保[contactTitles objectForKey:group]获取到的数据都是数组

Decylus
Decylus
谢谢,果然是这样.... 文本编辑打开,发现里面多了一个dict.... 纠结了这么久,见效了. 再次感谢!
返回顶部
顶部