0

我收到一个错误

线程 1:信号 SIGABRT

这是代码

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

    /* FOR SIMPLE CELL */
    static NSString *MyIdentifier = @"MyCell";

    UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier];


    cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator;
    word *worddc = [Array objectAtIndex:[indexPath row]]; //ERROR thread 1 signal SIGABRT

        cell.textLabel.text = worddc.word_alphabet;



    return cell;
}
4

3 回答 3

0

检查以下列表:

  • 检查 Array 是否仍然被分配并且它没有被释放。
  • 尝试像这样转换值:

    word *worddc = (word *)[Array objectAtIndex:[indexPath row]];
    
于 2012-10-17T08:08:17.650 回答
0

我评论说你需要解释你的问题,但无论如何我可能有一个想法:

objectAtIndex:返回一个(id)对象。尝试将结果转换为 word* :

word *worddc = (word*)[Array objectAtIndex:[indexPath row]];
于 2012-10-17T08:08:33.000 回答
0

试试这种方式,检查你在 strObj 中得到了什么,它是字符串吗?

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

    /* FOR SIMPLE CELL */
    static NSString *MyIdentifier = @"MyCell";

    UITableViewCell *cell=(UITableViewCell*)[tableView dequeueReusableCellWithIdentifier:MyIdentifier];
    if (cell==nil) 
        cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier];

    cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator;
    word *worddc = [Array objectAtIndex:[indexPath row]]; //ERROR thread 1 signal SIGABRT
    NSString *strObj=worddc.word_alphabet;
    cell.textLabel.text =strObj;//Here check what you are getting by setting breakpoint.
    strObj=nil;



    return cell;
}
于 2012-10-17T08:54:12.823 回答