Anton Tropashko Anton Tropashko - 11 months ago 41
Swift Question

Chose to 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

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.

Answer Source

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)
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download