每次我滚动 cell.viewWithTag 时都会出现致命错误,同时展开发现 nil
Everytime I scroll cell.viewWithTag will give fatal error while unwrapping found nil
每次滚动时我都有一个包含单元格的 table 视图我收到致命错误:在展开可选值时意外发现 nil
它会将此代码标记为绿色:let button = cell.viewWithTag(1009) as! UIButton
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCellWithIdentifier("ChecklistItem") as! UITableViewCell
let label = cell.viewWithTag(1000) as! UILabel
let button = cell.viewWithTag(1009) as! UIButton
button.tag = indexPath.row
...
}
我通过添加这个 if 子句解决了这个问题:
if button == nil{
println("Do nothing");
}else{
button!.tag = indexPath.row
}
出现致命错误:展开可选值时意外发现 nil 导致您在设置标签后从 viewWithTag 获取按钮
let button = cell.viewWithTag(1009) as! UIButton
**button.tag = indexPath.row**
所以没有更新按钮标签,在按钮可访问性标识符中传递所需信息
let button = cell.viewWithTag(1009) as! UIButton
button.accessibilityIdentifier = "\(indexPath.row)"
通过
获取按钮信息后
let indexRow = Int(button.accessibilityIdentifier!)
我遇到了同样的问题并通过(可选绑定)'if let' 或 'Guard let'
解决了它
if let button : UIButton = cell.viewWithTag(1009) as? UIButton{
button.tag = indexPath.row
// your code...
}else{
print("Do nothing");
}
每次滚动时我都有一个包含单元格的 table 视图我收到致命错误:在展开可选值时意外发现 nil
它会将此代码标记为绿色:let button = cell.viewWithTag(1009) as! UIButton
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCellWithIdentifier("ChecklistItem") as! UITableViewCell
let label = cell.viewWithTag(1000) as! UILabel
let button = cell.viewWithTag(1009) as! UIButton
button.tag = indexPath.row
...
}
我通过添加这个 if 子句解决了这个问题:
if button == nil{
println("Do nothing");
}else{
button!.tag = indexPath.row
}
出现致命错误:展开可选值时意外发现 nil 导致您在设置标签后从 viewWithTag 获取按钮
let button = cell.viewWithTag(1009) as! UIButton
**button.tag = indexPath.row**
所以没有更新按钮标签,在按钮可访问性标识符中传递所需信息
let button = cell.viewWithTag(1009) as! UIButton
button.accessibilityIdentifier = "\(indexPath.row)"
通过
获取按钮信息后let indexRow = Int(button.accessibilityIdentifier!)
我遇到了同样的问题并通过(可选绑定)'if let' 或 'Guard let'
解决了它if let button : UIButton = cell.viewWithTag(1009) as? UIButton{
button.tag = indexPath.row
// your code...
}else{
print("Do nothing");
}