Tengo un método setter (setMinimumNumberOfSides) que deseo sobrescribir después de usar sintetizar. En él, estoy poniendo una restricción en la variable de instancia para asegurarme de que int está dentro de ciertos límites.Reemplazando un método setter, y obteniendo información
Más tarde en un método init personalizado, estoy estableciendo otra variable de instancia (numberOfSides), pero necesito asegurarme de que minimumNumberOfSides y maximumNumberOfSides se establecieron correctamente dentro de los límites. Traté de cambiar el valor de retorno en el colocador a un BOOL, por lo que podría devolver un SÍ o NO si tuvo éxito/error, pero eso creó un método contradictorio, supongo que porque estoy usando sintetizar y anular el colocador.
¿Cómo puedo obtener la información fácilmente para verificar si se llamó al proveedor y se devolvió con éxito?
-(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;
}
Dale un golpe. +1 –