@selector(updateStuff:)
这将自动发送参数:(Id)发送者。是否有可能将此重写为其他东西?在我的特定用法中,实际发送者是没有意义的。
我正在使用一个UITableView,并在每个小区的UIAccessoryView插槽中设置一个UISwitch。最初,我将UISwitch添加到单元初始化之外的UIAccessoryView中,这允许每个UISwitch成为唯一的实例。然而,在iPhone 3G上滚动长长的列表时,这会造成明显的滞后。如果在单元格初始化时将UIAccessoryView添加到单元格中,则可以将其排除队列而不是实例化,从而大大减少延迟。不幸的是,这样做的代价是,实例并不是表中每个UISwitch的唯一实例,并且:(Id)发送方变得毫无意义。
我需要两样东西之一..。
的策略更好的策略。
在单元格创建/退出队列之后,我总是可以使用添加UISwitch,但是它非常慢,效率很低。谢谢你的帮助。
真诚,Z@K!
发布于 2010-09-12 22:42:26
我也遇到了类似的问题,我通过设置发送方的“标记”属性来解决这个问题,每个视图都有这个属性,目的是帮助识别它。因此,在创建/退出单元格时,将标记设置为标识单元格,并在操作中使用发送方标记获取单击的上下文。
发布于 2010-09-13 00:58:13
有很多很多方式:
while (v && ![v isKindOfClass:[UITableViewCell class]]) {v = v.superview; }).[tableView indexPathForCell:(UITableViewCell*)v].发布于 2012-10-26 11:53:16
我编写了一个UISwitch子类,它带有一个基于块的赋值器,用于值更改控制事件,当试图跟踪哪个开关的值已经更改时,该子类可以提供帮助。理想情况下,我们可以对组合做一些类似的事情,而不是子类化,但这很适合我的需要。
https://gist.github.com/3958325
你可以这样使用它:
ZUISwitch *mySwitch = [ZUISwitch alloc] init];
[mySwitch onValueChange:^(UISwitch *uiSwitch) {
if (uiSwitch.on) {
// do something
} else {
// do something else
}
}];您还可以从XIB文件中使用它,方法是将开关拖到视图上,然后将其类更改为ZUISwitch。
https://stackoverflow.com/questions/3696885
复制相似问题