0

ユーザーにピッカーを回してもらいたいのですが、特定の行が表示されたら、適切な配列をロードして UITableView に表示する必要があります。ユーザーがピッカーを回転させてから別の「選択」ボタンを押す必要がなければ、私はそれを好みます。

通常のピッカーとテーブルの方法がありますが、ピッカーが回転してもテーブルは更新されません。テーブルは最初の NIB ロードで更新されますが、その後は更新されません。

これがピッカー方式です。配列がロードされ、reloadData が呼び出されますが、その後何もありません...?

助けていただければ幸いです。

(void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {

NSLog(@"Selected: %@. Index: %i", [pickerSelections objectAtIndex:row], row);

pickerChoice = [pickerSelections objectAtIndex:row];

if (pickerChoice==@"String1"){

    NSLog(@"load Array1");

    Names1 = [[NSArray alloc]initWithObjects:@"Bob Jones",@"Joe Brown",@"Nigel Smith",nil];

    [contactTable reloadData];

}else if (pickerChoice==@"String2"){

    NSLog(@"load Array2");

    Names2 = [[NSArray alloc]initWithObjects:@"Bob Jennings",@"Joe Brown",@"Nigel Smith",nil];

    [contactTable reloadData];

}

}
4

1 に答える 1

0

うめき声-私の悪い。すべてをトリプルチェックしたところ、テーブルとピッカーの@propertyに「IBOutlet」を追加するのを忘れていたことがわかりました。私が考えていたことは何でしょう。追加すると、(もちろん)IBで接続でき、すべてが正常に起動します。

于 2011-04-28T12:38:17.337 に答える