0から1までのfloat値のみを受け入れるプロパティが必要です。プロパティにfloat_tまたはdouble_tタイプを定義することで標準的な方法でそれを行うことができますが、疑わしいことに、よりエレガントな方法はありますか?
質問する
83 次
2 に答える
3
double
標準的な方法で実行します- /プロパティを定義float
し、セッターで有効性を確認します-例:
@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;
}
于 2012-10-24T08:55:11.580 に答える
1
(Objective-)Cはサブレンジタイプをサポートしていません。そのためには、Ada(または他のいくつか)が必要です。できる最善のことは、セッターにチェックを実装することです。
于 2012-10-24T08:53:22.180 に答える