Ho un metodo setter (setMinimumNumberOfSides) che voglio sovrascrivere dopo aver usato sintetizzare. In esso, inserisco un vincolo sulla variabile di istanza per assicurarmi che l'int sia entro certi limiti.Sovrascrittura di un metodo setter e ricezione di informazioni
Successivamente in un metodo di inizializzazione personalizzato, sto impostando un'altra variabile di istanza (numberOfSides), ma è necessario assicurarsi che minimumNumberOfSides e maximumNumberOfSides siano stati impostati correttamente entro i limiti. Ho provato a cambiare il valore di ritorno del setter su un BOOL, così ho potuto restituire un YES o NO se è riuscito/fallito, ma questo ha creato un metodo in conflitto, sto supponendo perché sto usando sintetizzare e sovrascrivere il setter.
Come posso ottenere facilmente le informazioni per verificare se il setter è stato chiamato e restituito correttamente?
-(void)setNumberOfSides:(int)sides
{
if ((sides < maximumNumberOfSides) && (sides > minimumNumberOfSides))
{
numberOfSides = sides;
}
else
NSLog (@"Invalid number of sides: %d is outside the constraints allowed", sides);
}
-(void)setMinimumNumberOfSides:(int)minimum
{
if (minimum > 2)
minimumNumberOfSides = minimum;
}
-(void)setMaximumNumberOfSides:(int)maximum
{
if (maximum <= 12)
maximumNumberOfSides = maximum;
}
-(id)initWithNumberOfSides:(int)sides minimumNumberOfSides:(int)min maximumNumberOfSides:(int)max
{
if (self = [super init])
{
self.minimumNumberOfSides = min;
self.maximumNumberOfSides = max;
self.numberOfSides = sides;
}
return self;
}
Mi picchia. +1 –