NSArray没有加载UITableView

时间:2014-09-11 19:40:10

标签: ios objective-c uitableview

我有以下NSArray

(
"<Events:pxhQQ5wqBz:(null)> {\n    EventName = \"Volunteer Fiar\";\n    School = \"<School:9CbVOFj1be>\";\n    SchoolName = \"Quinnipiac University\";\n}",
"<Events:x06pKsCIxm:(null)> {\n    EventName = \"QU vs Yale\";\n    School = \"<School:9CbVOFj1be>\";\n    SchoolName = \"Quinnipiac University\";\n}",
"<Events:Cc3KQLY9MR:(null)> {\n    EventName = \"Bobcat Madness\";\n    School = \"<School:9CbVOFj1be>\";\n    SchoolName = \"Quinnipiac University\";\n}"
)

我正在尝试将该数组中的项添加到我的UITableView中的标签中,它似乎导致我的应用程序崩溃。有什么想法吗?我一直遇到以下崩溃:

-[__NSArrayI length]: unrecognized selector sent to instance 0x10d923bc0

这是我的代码

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

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

   cell.textLabel.text = [self.eventArray valueForKey:@"EventName"];
} 

为了澄清一些,应该返回的行数是正确的。我似乎无法在textLabel对象中获取EventName。

1 个答案:

答案 0 :(得分:2)

假设您在eventArray中存储了类型为Event的对象,并且该Event对象具有属性EventName,则需要首先获取与该行关联的事件,然后您可以在单元格上设置事件的名称。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

   // do all your normal cell creation/reuse stuff here...

   Event *eventForRow = self.eventArray[indexPath.row];
   cell.textLabel.text = eventForRow.EventName;

   return cell;
}