2015-09-17 17 views
9

Im nhận được cảnh báo sau đây variable 'isTaken' was written to, but never read vào đoạn mã sau:biến đã được viết, nhưng không bao giờ đọc?

func textFieldShouldEndEditing(textField: UITextField) -> Bool { 

     var isTaken: Bool = false 

     if textField == usernameTxt { var query = PFQuery(className: "_User") 
     query = PFQuery(className: "_User") 
     query.whereKey("username", equalTo: usernameTxt.text!) 
     query.findObjectsInBackgroundWithBlock { 
      (objects: [AnyObject]?, error: NSError?) in 
      if error == nil { 
       if (objects!.count > 0){ 

        isTaken = true 

        } 
       } else { 
        print("Username is available. ") 
       } 
      } else { 
       print("error") 
      } 
      } 
     } 
     return true 
    } 

tại sao tôi lại nhận được cảnh báo và làm thế nào để làm đi với nó?

+0

sử dụng 'isTaken' trên toàn cầu nếu bạn thực sự cần sử dụng nếu không có vẻ như không sử dụng' isTaken' –

Trả lời

11

Khi lỗi nói variable 'isTaken' was written to, but never read có nghĩa là bạn đang tạo một ví dụ isTaken và gán giá trị cho nó nhưng không bao giờ được sử dụng.

3

Chỉ cần loại bỏ những điều khoản:

var isTaken: Bool = false 
isTaken = true 

Kể từ khi giá trị không bao giờ được sử dụng xác định và phân công để hoàn thành nếu không có gì.

3

Về cơ bản nó nói rằng isTaken được gán một giá trị, nhưng nó không thực sự làm bất cứ điều gì trong mã của bạn. Bạn không bao giờ sử dụng nó hoặc kiểm tra giá trị của nó, vì vậy nó chỉ đơn giản là một cảnh báo nói rằng biến là không cần thiết.

Nếu bạn thực sự đang sử dụng isTaken và trình biên dịch không nhận ra đối với một số lý do, bạn có thể có lẽ chỉ cần thêm dòng khác ngay sau khi

isTaken = true; 

mà chỉ nói

isTaken; 

Hoặc làm isTaken toàn cầu nếu bạn đang sử dụng một nơi khác trong mã.

2

Cảnh báo trình biên dịch để chỉ ra mã chết. Bạn có thể đã sao chép dán một số mã và loại bỏ một số mã không mong muốn. Khi làm như vậy, việc sử dụng biến cục bộ isTaken đã biến mất. Vì vậy, nó chỉ được gán một giá trị và không bao giờ được sử dụng để thực hiện bất kỳ lợi ích nào. Bạn có thể chỉ cần xóa mã xung quanh isTaken hoặc kiểm tra kỹ và đặt lại chức năng xung quanh nó :).

0

Cảnh báo cho bạn về biến thể mà bạn đặt giá trị nhưng không hoạt động sau giá trị đó.

Điều rất quan trọng là giữ cho mã của bạn luôn sạch sẽ và an toàn, vì vậy xcode chỉ cung cấp cho bạn một chút trợ giúp với nó.

isTaken = true; 

Thats điểm bạn đặt một giá trị để isTaken biến.

Hãy thử xem lại mã của bạn và suy nghĩ về việc sử dụng biến này.

Các vấn đề liên quan