Vor einigen Tagen wechselte ich zu Swift-Codierung nach objc. Und wenn ich Adapter mit MVVM-Muster schreibe, verwechselte ich mit dem nächsten Fall, was ohne Probleme in objc gemacht werden konnte.Schnelle Inhärenz Aufgabe
So in ObjC: Wir haben IDTableViewController mit Moderator (Ansichtsmodell) Immobilie
@interface IDTableViewController : UITableViewController
@property (nonatomic, strong) id<IDCollectionPresenterProtocol> presenter;
@end
Und wenn wir IDTableViewController erben, wir Klasse von Moderator in Verlängerung außer Kraft setzen (was natürlich zu Protokoll oben erwähnt entspricht)
UsersViewController.h
@interface UsersViewController : IDTableViewController
UsersViewController.m
@interface UsersViewController()
@property (nonatomic, strong) UsersPresenter *presenter;
@end
@implementation UsersViewController
@dynamic presenter;
Und alles ist gut ... Aber in Swift kann ich nicht das Gleiche tun. Ich kann die Klasse der Eigenschaft in UsersViewController nicht überschreiben
class IDTableViewController: UITableViewController {
var viewModel : IDCollectionPresenterProtocol?
}
class UsersViewController: IDTableViewController {
var viewModel : UsersPresenter?
}
Kann ich das tun? Und wie könnte ich es umsetzen, wenn es nicht legal ist?
Vielen Dank, berechnet Privateigentum ist was ich brauche. :) – qub