二元运算符' =='不能应用于类型的操作数'(UIViewController,sender:AnyObject?) - >虚空'和' String'

时间:2016-07-26 16:35:10

标签: ios swift parse-platform

嗨我遇到了swift 3的问题。有一些代码会给我一个错误。我将它从swift 2.2转换为swift 3,这就是结果

几行代码是swift 2代码,它工作正常

第二位代码是转换后的代码,它给我一个错误

如果我使用" ="而不是" =="它给了我这个错误

if show = "followers" {
    loadFollowers()
}

if show = "followings" {
    loadFollowings()
}
  

无法分配属性:self是不可变的

导致错误的if语句

var user = String()
var show = String()

class followersViewController: UITableViewController {

var usernameArray = [String]()
var picArray = [PFFile]()
var followArray = [String]()

override func viewDidLoad() {
    super.viewDidLoad()

    self.navigationItem.hidesBackButton = true
    let backBtn = UIBarButtonItem(image: UIImage(named: "back.png"), style: .plain, target: self, action: #selector(followersVC.back(_:)))
    self.navigationItem.leftBarButtonItem = backBtn

    let backSwipe = UISwipeGestureRecognizer(target: self, action: #selector(followersVC.back(_:)))
    backSwipe.direction = UISwipeGestureRecognizerDirection.right
    self.view.addGestureRecognizer(backSwipe)

    if show == "followers" {
        loadFollowers()
    }

    if show == "followings" {
        loadFollowings()
    }
}
  

二元运算符' =='不能应用于类型的操作数'(UIViewController,sender:AnyObject?) - >虚空'和'字符串'

2 个答案:

答案 0 :(得分:0)

在Swift 3中,UIViewController有一个名为show的方法,它会遮挡您的show变量并阻止您的视图控制器使用它。

您可以通过将show变量的名称更改为其他内容并使用==比较来解决此问题。

答案 1 :(得分:0)

我添加了String(),并且对我有用

public class CoffeQuantity {
    int id;
    Integer quantity;

    //getters and setters...

}