2011-03-31 26 views
0

我是從數據庫中nsmutableaaray無法通過的NSMutableArray

-(void)SeoPickerData 
{ 

    self.pickerArray = [[NSMutableArray alloc] init]; 
    { 
     const char *sql = "select * from Main"; 
     sqlite3_stmt *selectStatement; 

     int returnValue = sqlite3_prepare_v2(database1, sql, -1, &selectStatement, NULL); 
     if(returnValue == SQLITE_OK) 

     { 
      //loop all the rows returned by the query. 
      while(sqlite3_step(selectStatement) == SQLITE_ROW) 
      { 
       //int key = sqlite3_column_int(selectStatement, 0); 
       NSString *Term = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectStatement, 2)]; 

       Container *myObject=[[Container alloc] InitWithTermId:Term]; 
       [self.pickerArray addObject:myObject]; 
       [myObject release]; 
      } 
     } 
     else 
     { 
      printf("could not prepare statemnt: %s\n", sqlite3_errmsg(database1)); 
     } 

    } 

} 

加載數據和i的陣列的複製數據與這樣

localArray = [[NSMutableArray alloc] init]; 

Container *classObj = [[Container alloc] init]; 

[classObj.seoArray removeAllObjects]; 

[classObj SeoPickerData]; 

//[localArray addObject:@"Red"]; 

self.localArray = classObj.pickerArray; 

[self.view addSubview:pickerView]; 

另一個數組當陣列是添加在選擇器視圖數據在這樣的uipickerview函數加載

- (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component 

{ 

    return [localArray objectAtIndex:row]; 

} 

錯誤是應計,我如何添加項目在ui選擇器視圖?

回答

0

這裏是一個可能的錯誤:

NSString *Term = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectStatement, 2)]; 

Container *myObject=[[Container alloc] InitWithTermId:Term]; 
[self.pickerArray addObject:myObject]; 
[myObject release]; 

您要添加Container對象數組。

- (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component 
{ 
    return [localArray objectAtIndex:row]; 
} 

然後返回一個Container對象,當你將返回一個NSString