EDITUIPickerviewはquestionmarksバックの代わりに、データ
私はUIPickerviewを持っていると私は私のNSMutualArrayからのデータでそれを埋めるかたいを与えます。私はNSLogと私の配列に何かがある場合、私はテストして、私はデータを取得します。しかし、それは私のpickerviewerを埋めることはありません
私は私のpickerviewerのためのこのメソッドがあります。
- (NSString *)pickView:(UIPickerView *)pickview titleForRow:(NSInteger)row forComponent:(NSInteger)component{
return [dataArray objectAtIndex:row];
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 1;// assuming a single spinning wheel of strings (not split into left/right for example)
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
return [json count]; // the number of strings that your parser finds and adds to the array
}
JSONからデータを取得するには、次の2つの方法を使用します。私はviewdidloadでstart関数を呼び出します。
-(void) getData:(NSData *) data{
NSError *error;
json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
}
-(void) start {
NSURL *url = [NSURL URLWithString:kGETUrl];
NSData *data = [NSData dataWithContentsOfURL:url];
[self getData:data];
}
私のUIPickerviewerを隠して表示するボタンもあります。
-(IBAction)setPicker:(id)sender{
if (pickview.hidden == TRUE) {
[pickview setHidden:NO];
[pickview setDelegate:self];
[pickview setDataSource:self];
[pickview reloadAllComponents];
}else {
[pickview setHidden:YES];
[pickview setDelegate:self];
[pickview setDataSource:self];
[pickview reloadAllComponents];
}
}
このメソッドを使用して配列を埋めます。
-(void) fillArray{
dataArray = [[NSMutableArray alloc] init];
for (int i=0; i<[json count]; i++) {
NSDictionary *info = [json objectAtIndex:i];
[dataArray addObject:[info objectForKey:@"Use_naam"]];
}
NSLog(@"%@\n",dataArray);
}
これを私のviewdidloadで呼び出します。
- (void)viewDidLoad
{
[super viewDidLoad];
[self start];
[self fillArray];
// Do any additional setup after loading the view, typically from a nib.
}
私が間違っていることは誰でも知っていますか?
問題は私の友人です。コードにはどのような参照が使用されていますか?あなた自身をコーディングしていますか? jsonとは何ですか?情報のデータも取得していますか? – Sarah
まだそれを取得? – Sarah
ありません、それはあなたがこれは私のdataArrayから出力されdataArray – steaphann