如何为一系列浮点数定义typedef?

时间:2012-10-24 08:43:23

标签: iphone objective-c ios

我想要一个只接受介于0和1之间的浮点值的属性。我可以通过为属性定义float_t或double_t类型以标准方式执行此操作,但是怀疑,是否有更优雅的方法呢?

2 个答案:

答案 0 :(得分:3)

以标准方式执行 - 定义double / float属性并检查setter中的有效性 - 示例:

@property (nonatomic, assign, readwrite) float property;

@synthesize property = _property;

- (void)setProperty:(float)property {
   NSAssert(property >= 0.0f && property <= 1.0f, @"Invalid value passed to property setter.").   

   _property = property;
}

答案 1 :(得分:1)

(目标 - )C不支持子范围类型。为此,你需要阿达(或其他几个)。你能做的最好的就是在你的制定者中实施支票。