objective-c – 我如何通过选择器方法传递int值?

我想从我的选择器方法传递一个int值,但是selector方法只接受一个对象类型参数.
int y =0;
[self performselector:@selector(tabledata:) withObject:y afterDelay:0.1];

方法执行在这里

-(int)tabledata:(int)cellnumber {
   NSLog(@"cellnumber: %@",cellnumber);
   idLabel.text = [Nsstring stringWithFormat:@"Order Id: %@",[[records objectAtIndex:cellnumber] objectAtIndex:0]];
}

但是我没有在我的方法中得到精确的整数值,我只得到id值.

解决方法

最简单的解决方案,如果您拥有’目标选择器’,则将int参数包装在NSNumber中:
-(int)tabledata:(NSNumber *)_cellnumber {
    int cellnumber = [_cellnumber intValue];
    ....
}

调用方法,您将使用:

[self performselector:@selector(tabledata:) withObject:[NSNumber numberWithInt:y] afterDelay:0.1];

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...