当我尝试将对象添加到我的可变数组时,我一直得到一个无法识别的选择器,当我在tableview中选择一个单元格时,我正在尝试添加和删除项目到一个可变数组,这是我的代码:
@interface SomeViewController
@property (nonatomic, strong) NSMutableArray *selectedItems;
@end
查看确实已加载:
-(void)viewDidLoad {
[super viewDidLoad];
self.selectedItems = [[NSMutableArray alloc] init];
}
选择单元格:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
MyCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
[self.selectedItems addObject:[NSString stringWithFormat:@"%@", cell.contactID]];
MyCell文件上的联系人Id属性是:
@property (strong, nonatomic) NSString *contactID;
我一直收到这个错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM _fastCStringContents:]: unrecognized selector sent to instance 0x7fc3dd1091b0'
答案 0 :(得分:2)
在某个地方你有一个你认为是字符串的对象,而实际上它是一个可变数组 - 这就是错误信息所说的。在异常上设置一个断点,它应该告诉你它到底发生了什么,然后找到你认为是字符串的数组。
答案 1 :(得分:0)
尝试在普通的UITableView中实现它。如果你没有遇到任何问题,那么你的问题就在于你的MyCell。同时检查mutable或copy数组。尝试NSLog cell.contactID
答案 2 :(得分:0)
可能是您将数组直接传递给NSLog
之类的NSLog(array)
而不是NSLog(@"%@", array)