Sono nuovo nella programmazione Objective-C e sto creando varie classi per un'applicazione iOS su cui sto lavorando.
Durante la creazione di oggetti, sembra che molte classi nei framework incorporati utilizzino il modello "metodo factory statico", in questo modo:
MyObject* m = [MyObject objectWithName:@"foo" id:@7 description:@"bar"];
tuttavia, molte classi hanno anche delle sostituzioni su init
, come questa:
MyObject* m = [[MyObject alloc] initWithName:@"foo" id:@7 description:@"bar"];
Posso vedere che se voglio coprire tutte le mie basi, implementerei entrambe e ho il metodo objectWithName...
chiamata initWithName...
, tuttavia questo sembra piuttosto noioso.
Mi stavo chiedendo - esiste uno stile o una guida da seguire quando dovrei implementare lo schema del metodo di fabbrica rispetto a un sovraccarico di init
? Ho cercato su google per questo, ma non sono riuscito a trovare nulla (molto probabilmente perché i termini sono abbastanza generici e Google non li ricerca bene)
Qualunque consiglio o opinione sarebbe molto apprezzato