¿No se puede subclasificar UIColor?

Estoy tratando de subclasificar UIColor, y parece que no puedo entender qué está mal.

In my PColor.h

#import <Foundation/Foundation.h>
@interface PColor : UIColor {
    BOOL isAvailable;
    int colorId;
}
@property (nonatomic, assign) BOOL isAvailable;
@property (nonatomic, assign) int colorId;
@end

... y en mi PColor.m

#import "PColor.h"

@implementation PColor
@synthesize isAvailable;
@synthesize colorId;
@end

Al crear una instancia de un objeto PColor, obtengo:

//warning: incompatible Objective-C types initializing 'struct UIColor *', expected 'struct PColor *'
PColor *pcolor = [[PColor alloc] initWithHue:1 saturation:0 brightness:0 alpha:1];

¿Me estoy perdiendo de algo? Gracias por adelantado

Respuestas a la pregunta(4)

Su respuesta a la pregunta