What it says on the tin: I'd like to use the @property/@synthesize syntax to define a property on my Objective-C 2.0 class, but I want to place restrictions on the range of values allowed in the property. For example:

@interface MyClass : NSObject {
    int myValue;
}

@property (nonatomic) int myValue;

Implementation:

@implementation MyClass

@synthesize myValue(test='value >= 0');

Note that the syntax here is just an example. Is this, or something much like it possible? Alternately, what is the literal equivalent of a synthesized setter, so that I can ensure that I use the same object retention rules in my manual setters as is used in a synthesized one.

Edit
Report