Anton Tropashko
Anton Tropashko

Reputation: 5816

check if UITableViewDelegate is equal to self

How could I get this to compile?

assert(self.tableView.delegate == self)

where self is a UIViewController containing the tableview

I get

WjateverViewController.swift:56:44: Binary operator '==' cannot be applied to operands of type 'UITableViewDelegate?' and 'WjateverViewController'

you'd think that maybe

assert(myTableView.delegate == self as UITableViewDelegate?)

would work. But it does not:

OffersViewController.swift:56:44: Binary operator '==' cannot be applied to two 'UITableViewDelegate?' operands

I could use help with this wonderful new language.

Upvotes: 5

Views: 434

Answers (1)

Martin R
Martin R

Reputation: 539975

The table view controller and the table view delegate are instances of a reference type (class).

Instances of reference types can be compared with the "identical-to" operator ===, which returns true if both references point to the same object instance:

assert(self.tableView.delegate === self)

Upvotes: 10

Related Questions