2013-07-19 197 views
0

我有一個自定義的分段控件,您可以選擇多個段並將選定的索引保存到數組中。我想要做的是爲每個int我想獲得titleForSegmentAtIndex並把標題放入一個數組或字符串,但我努力設置正確的循環。將整數轉換爲titlesForSegmentAtIndex

這是我現在所擁有的:

NSLog(@"%@", array); 

打印:

(
    0, 
    1, 
    4 
) 

這裏是我的數組:

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

而且我想我需要使用[segmentControl titleForSegmentAtIndex:int] 但不知道如何將它合併到循環中。

+3

你不能有一個NSArray ints,你只能有NSNumbers –

回答

1

您需要創建一個NSMutableArray並在for ... in循環中添加標題。

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

你也可以使用一個普通的老for循環,但for ... in是更清潔,更快速。

+0

我得到預期';'在'for'語句說明符中,當我這樣做時。我是否必須在這個例子中定義int? – BluGeni

+0

@BluGeni對不起,愚蠢的錯誤。現在試試。 – gtmtg

+0

@BluGeni實際上,這也不起作用...索引存儲在數組中的是什麼類型?將整數存儲在NSArray中是不可能的,所以它們不能是int的。 – gtmtg