Quando si progetta una gerarchia di classi, a volte la sottoclasse ha aggiunto un nuovo metodo initWithSomeNewParam
e sarebbe desiderabile disabilitare le chiamate al vecchio metodo init
ereditato dalla superclasse.Il modo migliore per impedire ad altri programmatori di chiamare -init
Prima di tutto, ho letto la questione here, dove le alternative proposte sono o esclusione init
un'eccezione in fase di esecuzione, o ignorare e impostare i valori predefiniti per le proprietà. Nel mio caso, non voglio fornire valori predefiniti, e voglio indicare chiaramente che il vecchio metodo non dovrebbe essere chiamato, e invece dovrebbe essere usato il nuovo metodo con parametri.
Quindi l'eccezione di runtime va bene, ma a meno che il codice non sia debuggato, non c'è modo per altri programmatori del team di notare che il vecchio metodo non è più destinato ad essere utilizzato.
Se ho ragione, non c'è modo di contrassegnare un metodo come "privato". Quindi, a parte l'aggiunta di commenti, c'è un modo per farlo?
Grazie in anticipo.
Commenti ed eccezioni: non c'è molto altro da fare. –