Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在解锁操作中访问单元格导致崩溃_Ios_Swift_Uitableview - Fatal编程技术网

Ios 在解锁操作中访问单元格导致崩溃

Ios 在解锁操作中访问单元格导致崩溃,ios,swift,uitableview,Ios,Swift,Uitableview,在加载tableview之前,我正在单击按钮,以便发生崩溃。是否有解决方案?您需要检查单元格是否为空 @IBAction func selectInviteBtnClicked(_ sender: UIButton) { let cell = matchedUsersTableView.cellForRow(at: IndexPath(row: sender.tag, section: 0)) as! MultiUserTableViewCell if selectedUsers[send

在加载tableview之前,我正在单击按钮,以便发生崩溃。是否有解决方案?

您需要检查单元格是否为空

@IBAction func selectInviteBtnClicked(_ sender: UIButton) {

 let cell = matchedUsersTableView.cellForRow(at: IndexPath(row: sender.tag, section: 0)) as! MultiUserTableViewCell

if selectedUsers[sender.tag] == nil{
    selectedUsers[sender.tag] = true
}else if selectedUsers[sender.tag] == false{
    selectedUsers[sender.tag] = true
}else{
    selectedUsers[sender.tag] = false
}
var count = 0
for value in selectedUsers.values{
    if value{
        count += 1
    }
}
if count == (currentUserRide as! RiderRide).availableSeats + 1{
 UIApplication.shared.keyWindow?.makeToast(message: Strings.passengers_more_than_available, duration: 5.0, position: CGPoint(x: self.view.frame.size.width/2, y: self.view.frame.size.height-300))
}  

  setSelectButtonBasedOnSelection(isSelected:selectedUsers[sender.tag],button: cell.matchedUserSelectBtn)
}

如果您说在加载表之前单击按钮,则可以假定该按钮不是表的一部分。你在某处更改按钮下标签吗?因为如果不是,那么使用sender.tag是没有意义的。@我使用的sender.tag和按钮是uitableview的一部分
guard let cell = matchedUsersTableView.cellForRow(at: IndexPath(row: sender.tag, section: 0)) as? MultiUserTableViewCell {
   return 
}
// use the cell