Schmaler Immobilientyp in Unterklasse

Heute bin ich auf ein seltsames Verhalten gestoßen, von dem ich nicht erwartet hatte, dass es der Objective-C-Compiler zulässt.

In UITableViewCell gibt es eine Eigenschaft namens imageView vom Typ UIImageView. Ich habe UITableViewCell als Unterklasse definiert und imageView überschrieben, mit der Ausnahme, dass es vom Typ AWImageView ist, wobei AWImageView eine Unterklasse von UIImageView ist. Ich dachte, es würde nicht kompiliert, aber es tut. Alles funktioniert gut. Ich war sehr schockiert von dem Verhalten.

Ist es offiziell erlaubt, die Art der Immobilie in Unterklassen einzugrenzen? Oder ist dies ein Fehler im Objective-C-Compiler, durch den er funktioniert hat?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage