Tôi cố gắng để xóa một hàng từ nguồn dữ liệu của tôi và các dòng mã sau đây:có điều kiện ràng buộc: nếu lỗi let - Initializer cho có điều kiện ràng buộc phải có tùy chọn loại
if let tv = tableView {
gây lỗi sau:
Initializer for conditional binding must have Optional type, not 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)
Làm thế nào tôi nên sửa fol hạ thấp?
if let tv = tableView {
vì 'tableView' không phải là giá trị tùy chọn, không cần kiểm tra xem nó có phải là không. Vì vậy, bạn có thể trực tiếp sử dụng nó, tôi có nghĩa là loại bỏ 'nếu let' và chỉ sử dụng' tableView' trong hàm –
Xin chào, Manny cảm ơn bạn đã trả lời. –
Đối với hậu thế, sau khi tôi khắc phục vấn đề này, tôi chạy vào 'biến với getter/setter không thể có giá trị ban đầu', được giải quyết bằng cách loại bỏ khối {} còn lại sau khi khởi tạo, ala câu trả lời này: http: // stackoverflow .com/a/36002958/4544328 –