0

クライアントを作成しています。アカウントを選択すると、アカウントが (セグエを介して) 渡されます。それがどのように行うのか知りたかった。obs ** データの受け渡しは、ユーザーが選択したピッカーの (アカウントの) 配列です。

これはピッカービューを返します:

-(NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { 
  ACAccount *acct = [arrayOfAccounts objectAtIndex:row]; 
  return [acct username];
}

ユーザーが選択したオプション (配列) を別のビューに渡して、アカウント (Twitter) として使用する必要があります。

私はTableViewで一度それを行うことができました(しかし、私はひどいインターフェースだと思いました)そしてピッカービューを作ることにしました。このデータ(以下)を渡すだけの問題は、テーブルビューと等しくありません

4

2 に答える 2

0

次のビューにデータを渡すためにセグエを使用していますか? それが最善の方法だと思います。ピッカービューからデータを渡すとき、セグエでこれを行うことができます

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{

    // Make sure your segue name in storyboard is the same as this line
    if ([[segue identifier] isEqualToString:@"moreinfosegue"])
    {
        // Get reference to the destination view controller
        NextViewController *nextViewC = [segue destinationViewController];
        // Pass any objects to the view controller here, like...
        ACAccount *acct = [self.arrayOfAccounts objectAtIndex:[_yourPickerView selectedRowInComponent:0]];

        [nextViewC  setACAccountValueInOtherView:acct];

    }
}

selectedRowInComponent は、UIPickerView から取得するコンポーネントに設定されることに注意してください。

これが役立つことを願っています。

于 2014-06-10T19:50:02.347 に答える
0

あなたの説明/スペルは少しあいまいです。

このデリゲート メソッドを実装する必要があります。

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

ピッカー ビューでの選択時にビューを切り替えることはお勧めしません。ボタンを使用してセグエを実行する方がよいでしょう。選択内容をプライベート プロパティに保存し、それを使用しprepareForSegue:て他のビュー コントローラーに渡すことができます。

于 2013-01-04T15:28:54.207 に答える