Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // Controller.m
- //
- #import "Controller.h"
- @implementation Controller
- @synthesize shape, decreaseButton, increaseButton, numberOfSidesLabel;
- - (IBAction)decrease:(id)sender {
- NSLog(@"Decrease");
- [shape setNumberOfSides:shape.numberOfSides-1];
- [self updateInterface];
- }
- - (IBAction)increase:(id)sender {
- NSLog(@"Increase");
- [shape setNumberOfSides:shape.numberOfSides];
- [self updateInterface];
- }
- -(void)updateInterface {
- NSLog(@"Past First");
- decreaseButton.enabled = (shape.numberOfSides == shape.minimumNumberOfSides)?NO:YES;
- NSLog(@"Past First");
- increaseButton.enabled = (shape.numberOfSides == shape.maximumNumberOfSides)?YES:NO;
- NSLog(@"Past First");
- numberOfSidesLabel.text = [NSString stringWithFormat: @"%d",shape.numberOfSides];
- NSLog(@"Past First");
- }
- -(void)awakeFromNib {
- // Initiate the PolygonShape
- [shape init];
- NSLog(@"The Polygon: %@",shape);
- }
- @end
- //
- // Controller.h
- #import <UIKit/UIKit.h>
- #import <Foundation/Foundation.h>
- #import "PolygonShape.h"
- @interface Controller : NSObject {
- IBOutlet UIButton *decreaseButton;
- IBOutlet UIButton *increaseButton;
- IBOutlet UILabel *numberOfSidesLabel;
- IBOutlet PolygonShape *shape;
- }
- @property (retain) IBOutlet UIButton *decreaseButton;
- @property (retain) IBOutlet UIButton *increaseButton;
- @property (retain) IBOutlet UILabel *numberOfSidesLabel;
- @property (retain) IBOutlet PolygonShape *shape;
- - (IBAction)decrease:(id)sender;
- - (IBAction)increase:(id)sender;
- -(void)updateInterface;
- @end
- //
- // PolygonShape.h
- #import <Foundation/Foundation.h>
- @interface PolygonShape : NSObject {
- int numberOfSides;
- int maximumNumberOfSides;
- int minimumNumberOfSides;
- NSString *name;
- }
- @property int numberOfSides;
- @property int maximumNumberOfSides;
- @property int minimumNumberOfSides;
- @property (retain) NSString *name;
- -(id)initWithNumberOfSides:(int)sides maximumNumberOfSides:(int)max minimumNumberOfSides:(int)min;
- -(id)init;
- -(void)makeNumberOfSides:(int)numSides;
- -(float)getAngleInDegrees;
- -(float)getAngleInRadians;
- @end
- //
- // PolygonShape.m
- #import "PolygonShape.h"
- @implementation PolygonShape
- @synthesize numberOfSides, maximumNumberOfSides, minimumNumberOfSides, name;
- -(void)makeNumberOfSides:(int)numSides {
- if((numSides < maximumNumberOfSides) && (numSides > minimumNumberOfSides)) {
- self.numberOfSides = numSides;
- }
- }
- -(float)getAngleInDegrees {
- return (180*((self.numberOfSides-2)/2));
- }
- -(float)getAngleInRadians {
- return ([self getAngleInDegrees] * (M_PI/180));
- }
- -(id)initWithNumberOfSides:(int)sides maximumNumberOfSides:(int)max minimumNumberOfSides:(int)min {
- self.maximumNumberOfSides = max; self.minimumNumberOfSides = min;
- if(sides < self.minimumNumberOfSides) {
- sides = self.minimumNumberOfSides;
- }
- if(sides > self.maximumNumberOfSides) {
- sides = self.maximumNumberOfSides;
- }
- [self setNumberOfSides:sides];
- return [self autorelease];
- }
- -(id)init {
- return [self initWithNumberOfSides:5 maximumNumberOfSides:10 minimumNumberOfSides: 3];
- }
- -(NSString *)description {
- return [NSString stringWithFormat: @"%d sided polygon.",self.numberOfSides];
- }
- @end
Add Comment
Please, Sign In to add comment