我有一個自定義UITableViewCells的tableview,表中的每一行都有一個UILabel,UISwitch和detail披露指標。爲UISwitch獲取一行的NSIndexPath
我正在尋找捕獲交換機的UIControlEventChanged的最佳方法,但我還需要更改爲更新核心數據的交換機的NSIndexPath。
我不希望UISwitch作爲附件類型。
我一直在google搜索這幾個小時,並且不斷彈出是使用
[switch addTarget:self action:@selector(switchTapped:) forControlEvents:UIControlEventChanged];
然後在switchTapped解決方案:方法使用以下方法來獲得NSIndexPath
NSIndexPath *indexPath = [self.tableView indexPathForCell:(UITableViewCell *)[[sender superview] superview]];
是有更好的方法來做到這一點?我已經有了UITableViewCell子類,我可以在這個類中放置一個方法來爲給定的開關返回NSIndexPath嗎?
預先感謝任何幫助
似乎對我來說很好。 – wbyoung 2012-03-19 14:34:22
但是,如果視圖層次結構在iOS更新等任何位置發生更改,將會失敗。 – 2012-03-19 14:48:46
好點,你可以走上前去找到'UITableViewCell'類型的第一個超級視圖。這很可能會失敗。 – wbyoung 2012-03-19 14:56:20