2011-05-15 54 views
0

我有2行的pickerview,我需要自動填充。第一行:150到210的數字和第二行的數字:從40到130.任何人都可以幫我解決這個問題嗎?如何設置了很多值來UIPickerView?

我的代碼:

- (void)viewDidLoad { 

    NSArray *ar1 = [[NSArray alloc]initWithObjects:@"150", @"151", @"152", nil]; 
    self.array1 = ar1; 
    [ar1 release]; 

    NSArray *ar2 = [[NSArray alloc]initWithObjects:@"40", @"41", @"42", nil]; 
    self.array2 = ar2; 
    [ar2 release]; 

     [super viewDidLoad]; 

} 

回答

1

您shoulf使用for環路這一點。代碼:

NSArray *ar1 = [NSArray array]; 
for (int i = 150; i <= 210; i++) 
    ar1 = [ar1 arrayByAddingObject:[NSString stringWithFormat:@"%d",i]]; 
[ar1 retain]; 
self.array1 = ar1; 

NSArray *ar2 = [NSArray array]; 
for (int j = 40; j <= 130; j++) 
    ar2 = [ar2 arrayByAddingObject:[NSString stringWithFormat:@"%d",j]]; 
[ar2 retain]; 
self.array2 = ar2; 


編輯:這將是更好,當你將使用 NSMutableArray代替。

NSArray *ar1 = [[NSMutableArray alloc] init]; 
for (int i = 150; i <= 210; i++) 
    [ar1 addObject:[NSString stringWithFormat:@"%d",i]]; 
self.array1 = ar1; 

NSArray *ar2 = [[NSMutableArray alloc] init]; 
for (int j = 40; j <= 130; j++) 
    [ar2 addObject:[NSString stringWithFormat:@"%d",j]]; 
self.array2 = ar2; 
+0

,當我用你的代碼,應用程序崩潰和日誌給我:扔的一個實例後終止所謂的「NSException」 sharedlibrary應用負載規則所有 – 2011-05-15 11:26:12

+0

2011-05-15 14:32:40.874 Laskurit [ 3623:207] - [NSCFNumber isEqualToString:]:無法識別的選擇發送到實例0x4b58580 2011-05-15 14:32:40.937 Laskurit [3623:207] ***終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因:' - [NSCFNumber isEqualToString:]:無法識別的選擇發送到實例0x4b58580' ***調用堆棧在第一擲: – 2011-05-15 11:33:51

+0

這是因爲你用'isEQualToString'與多家。我更新了我的代碼,以便您的錯誤消失。 – akashivskyy 2011-05-15 13:41:59

1

你可以使用的NSMutableArray,然後在「for循環」創建的字符串,並將其添加到使用AddObject方法數組。