I'm getting the error above, but unsure how to go about fixing it. This is my code:
.h:
#import <UIKit/UIKit.h>
@protocol ColorLineDelegate <NSObject>
-(void)valueWasChangedToHue:(float)hue;
@end
@interface ColorLine : UIButton {
id <ColorLineDelegate> delegate;
}
@property (nonatomic, assign) id <ColorLineDelegate> delegate;
@end
.m:
#import "ColorLine.h"
@implementation ColorLine
@synthesize delegate;
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
@end
The error occurs in the synthesize line. I can't find a problem though.
Use this syntax:
@interface SomeClass : NSObject {
id <SomeClassDelegate> __unsafe_unretained delegate;
}
@property (unsafe_unretained) id <SomeClassDelegate> delegate;
Looks like your project might be using ARC
then properties should be declared this way:
#import <UIKit/UIKit.h>
@protocol ColorLineDelegate <NSObject>
-(void)valueWasChangedToHue:(float)hue;
@end
@interface ColorLine : UIButton
@property (nonatomic, weak) id <ColorLineDelegate> delegate;
@end
I had the same problem when I used old example code which did not feature ARC in my ARC project. It seems that you do not need to put the variable declarations into the interface definition any more. So your code should work like this:
h:
#import <UIKit/UIKit.h>
@protocol ColorLineDelegate <NSObject>
-(void)valueWasChangedToHue:(float)hue;
@end
@interface ColorLine : UIButton {
// Get rid of this guy!
//id <ColorLineDelegate> delegate;
}
@property (nonatomic, assign) id <ColorLineDelegate> delegate;
@end
.m:
#import "ColorLine.h"
@implementation ColorLine
@synthesize delegate;
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
@end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With