1

多数のエントリを含むグラフがあります。plist からのループを使用してデータをロードしForます。greater than 6substringToIndex:2substringToIndex:6

しかし問題は: データは plist にあり、それを 1 つずつフェッチしています..そして、次の値ではなく値全体を対象greater than 6とする必要があるかどうかを知りたいのですsubstringToIndex:2が、値全体を作成するのに 6 を超える場合、データをリロードするにはどうすればよいですか?substringToIndex:2

コード

- (void)drawRect:(CGRect)rect {

  int l=0;
  NSMutableArray *Array=[NSMutableArray arrayWithArray:[self readFromPlistForOneWeek]];
  NSMutableArray *items = [[NSMutableArray alloc] init];

  for (id object in [Array reverseObjectEnumerator]){

    if ([object isKindOfClass:[NSDictionary class]])
    {
        NSDictionary *objDict = (NSDictionary *)object;

        //problem part below 
           l++;
        if(l>6){
              str1=[str1 substringToIndex:2];
              tempItemi.isPercentage=YES;
              tempItemi.yValue=f;
              tempItemi.width=10;
              tempItemi.name=str1;      
              [items addObject: tempItemi];
          } else{
              str1 =[str1 substringToIndex:6];
              tempItemi.isPercentage=YES;
              tempItemi.yValue=f;
              tempItemi.width=10;
              tempItemi.name=str1;
              [items addObject: tempItemi];
          }
     }

これにより、このような出力が得られます

画像を入力してください .

ここで、値が 6 を超える場合は、すべての場合に subStringToIndex:2 を使用する必要があります。

4

1 に答える 1

1

使用する必要はありませんif (l>6)。あなたは直接使用することができ、

if ([Array count] > 6)

ループ内でインクリメントし、インクリメント中にチェックするため、上記のコードは機能しません。配列の数を確認する必要があります。

于 2013-01-07T06:36:48.517 に答える