我正在创建一个客户端。选择一个帐户,帐户通过(通过segue)。想知道它是如何做到的。 obs **数据传递是用户选择的选择器的一个数组(帐户)。
这将返回选择器视图:
-(NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
ACAccount *acct = [arrayOfAccounts objectAtIndex:row];
return [acct username];
}
必须将用户选择的选项(数组)传递给另一个视图以用作帐户(Twitter)
我设法用TableView做了一次(但我认为这个可怕的界面)并且决定进行pickerview。仅在传递此数据时(下面)的问题不等于tableview
答案 0 :(得分:0)
我希望我能帮到你,你的描述/拼写有点模糊。
您需要实现此委托方法:
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
我不建议在选择器视图上选择时切换视图,如果使用按钮执行segue则更好。
您可以将选择保存在私有属性中,并在prepareForSegue:
中将其用于将其传递给其他视图控制器。
答案 1 :(得分:0)
您是否正在使用Segue将数据传递到下一个视图?我认为那将是最好的方式。从pickerview传递数据时,您可以在segue中执行此操作
- (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获取的任何组件。
我希望这会有所帮助。