0

一般的な質問があります。Objective-Cでdoubleオブジェクトの範囲を持つ方法はありますか? 値として異なる double 範囲を持つ辞書を作成しようとしています。

キーとして次のものがあります。

 NSArray *keys = @[@"Severe Thinness",@"Moderate Thinness",@"Mild Thinness",
                   @"Normal Range",@"Overweight",@"Obese Class I (Moderate)",
                   @"Obese Class II (Severe)",@"Obese Class III (Very Severe)"];

範囲オブジェクトを作成するために、そのような配列を作成しようとしていました:

NSArray *values = @[NSMakeRange(1,3),
                       NSMakeRange(16, 16.99),
                       NSMakeRange(17, 18.49),
                       NSMakeRange(18.50, 24.99),
                       NSMakeRange(25, 29.99),
                       NSMakeRange(30, 34.99),
                       NSMakeRange(35, 39.99),
                       NSMakeRange(40, 100)];

ただし、このアプローチではNSMakeRangeオブジェクトが作成されないため、エラーが発生します。

4

3 に答える 3

2

NSRangesを使用して定義されNSUIntegerます。同様のものが必要な場合は、同じパターンを使用して独自の構造体を定義できます。

typedef struct _MYDoubleRange {
      double location;
      double length;
} MYDoubleRange;

ただし、場所と長さは s として意味をなさない可能性があり、 を直接double格納することはできません。オブジェクトを定義します:MYDoubleRangeNSArray

@interface MYDoubleRange : NSObject
@property(nonatomic,assign) double start;
@property(nonatomic,assign) double end;
@end

そして、比較する必要があるメソッドなどを追加できます。

于 2013-10-02T04:12:48.367 に答える
0

標準ライブラリには、double を使用して範囲 (NSRange) を作成できるものはありません。もちろん、独自の範囲オブジェクトを作成することもできます。範囲が必要なものについてもう少し説明がある場合 (つまり、何を表すかなど)、喜んでお手伝いさせていただきます。

于 2013-10-02T04:07:47.267 に答える