当前位置: 首页 > 知识库问答 >
问题:

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

秦毅
2023-03-14

嗨,我对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,发送者:AnyObject?)-

共有2个答案

韦澄邈
2023-03-14

我添加了String(),它对我有效

if String(show) == "followings"
司寇烨伟
2023-03-14

在Swift 3中,UIViewController有一个名为show的方法,该方法隐藏了show变量并阻止视图控制器使用它。

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

 类似资料: