创建数组时EXC_ARM_DA_ALIGN?

时间:2013-09-17 05:24:07

标签: ios nsarray

我有一个tableview,用于多种用途。内部didselectRowAtIndex代表 我分配了NSArray并初始化了一些值。

NSArray *param=[[NSArray alloc] initWithObjects:selectedCell.textLabel.text,status,selectedCell.tag, nil];

但是这一行给出了错误BAD_ACCESS_code= EXC_ARM_DA_ALIGN。这是什么原因以及如何解决这个问题

`

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
  {
      UITableViewCell *selectedCell=[tableView cellForRowAtIndexPath:indexPath];
      NSArray *param=[[NSArray alloc] initWithObjects:selectedCell.textLabel.text,status,selectedCell.tag, nil];

      if ([self.delegate respondsToSelector:@selector(selectedTableRowAUTOCREATION:)]) {
          [self.delegate selectedTableRowAUTOCREATION:param];
      }
  }

`

由于

1 个答案:

答案 0 :(得分:1)

selectedCell.tag的值不是对象。你不能把它放到一个数组中。

如果您需要跟踪标识符,则需要通过执行类似@(selectedCell.tag)的操作将其设置为NSNumber - 然后当您需要访问该值时,您可以执行{{1}得到它。