Tôi đang cố xóa một hàng khỏi Nguồn dữ liệu của mình và dòng mã sau:
if let tv = tableView {
gây ra lỗi sau:
Bộ khởi tạo cho ràng buộc có điều kiện phải có Loại tùy chọn, không phải UITableView
Đây là mã đầy đủ:
// Override to support editing the table view.
func tableView(tableView: UITableView, commitEditingStyle editingStyle:UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == .Delete {
// Delete the row from the data source
if let tv = tableView {
myData.removeAtIndex(indexPath.row)
tv.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
Tôi nên sửa những điều sau đây như thế nào?
if let tv = tableView {
variable with getter/setter cannot have an initial value
, mà đã được giải quyết bằng cách đơn giản loại bỏ các khối còn sót lại {} sau khi khởi tạo, ala câu trả lời này: stackoverflow.com/a/36002958/4544328
tableView
không phải là một giá trị tùy chọn, không cần phải kiểm tra xem nó có phải là nil hay không. Vì vậy, bạn có thể trực tiếp sử dụng nó, tôi remove bình đóif let
và chỉ sử dụngtableView
trong hàm