我有一個setter方法(setMinimumNumberOfSides),我想在使用合成後重寫。其中,我正在對實例變量進行約束以確保int處於特定範圍內。重寫setter方法,並獲取信息
在後面的自定義init方法中,我設置了另一個實例變量(numberOfSides),但我需要確保minimumNumberOfSides和maximumNumberOfSides在邊界內正確設置。我嘗試將setter上的返回值更改爲BOOL,所以如果成功/失敗,我可以傳回YES或NO,但是這造成了衝突的方法,我猜測是因爲我正在使用合成並覆蓋setter。
如何輕鬆獲取信息以查看是否調用了setter並返回成功?
-(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;
}
打我吧。 +1 – 2009-04-13 20:23:04