0

複数のセグメントを選択し、選択したインデックスを配列に保存できるカスタムのセグメント化されたコントロールがあります。私がやりたいのは、int ごとに titleForSegmentAtIndex を取得し、タイトルを配列または文字列に入れたいのですが、正しいループを設定するのに苦労しています。

これが私が今持っているものです:

NSLog(@"%@", array);

プリント:

(
    0,
    1,
    4
)

これが私の配列です:

NSMutableArray *array = [NSMutableArray array];
[self.type.selectedSegmentIndexes enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL *stop) {
    [array addObject:@(idx)];
}];

そして、使用する必要があると思います[segmentControl titleForSegmentAtIndex:int] が、それをループに組み込む方法がわかりません。

4

1 に答える 1

1

NSMutableArrayを作成し、タイトルをfor ... inループで追加する必要があります。

NSMutableArray *titles = [NSMutableArray array];
for (NSNumber *index in array) {
    [titles addObject:[segmentedControl titleForSegmentAtIndex:index.integerValue]];
}

単純な古いforループを使用することもできますが、 のfor ... in方がクリーンで高速です。

于 2013-07-19T13:46:11.317 に答える