我有一个由Storyboard构建的tableview
tableview的类型是 静态和分组
在其中一个Cell中,我有一个带开关的单元格(在Storyboard中设置 ON )。
我通过Storyboard将开关的标签设置为10000816。
我尝试使用[self.tableview viewWithTag 10000816]来获取tableview控制器中的开关。失败。
行。然后我尝试先获取Cell并尝试[cell viewWithTag],然后以某种方式成功。
然后我想知道为什么 所以我只是将以下行留下了注释。
def edit
flash[:info] = "Hash: #{params}"
@hour = HourLog.find(params[:id])
end
def update
@hour = HourLog.find(params[:id])
@hour.update_attributes(hours_params)
if @hour.save
redirect_to @hour, :notice => "Successfully changed stat."
else
render 'index' # Any action here, index for example
end
end
private
def hours_params
params.require(:hour_log).permit(:status)
end
跟随
UITableViewCell* cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
好的,这一次,再次成功 我评论了Get-Cell系列,我觉得这个系列无关紧要 然后奇怪的事情发生了。它失败了。我所做的唯一改变只是一条不相干的路线。 太奇怪了。
如果我只是评论Get-Cell系列,为什么viewWithTag会返回nil?
UISwitch* switchButton = [self.tableView viewWithTag: 10000816];
[switchButton setOn:NO animated:YES];
[更新]
我的switchOff被调用 - (void)viewDidAppear:
- (void) switchOff{
//****** the line below is the magic Get-Cell line , if I comment this line , viewWithTag will return nil
UITableViewCell* cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
UISwitch* switchButton = [self.tableView viewWithTag: 10000816];
[switchButton setOn:NO animated:YES];
}