objective-c - 加载 UIPickerView 后选择行

我有一个 iPhone 数据库应用程序,它使用表中的数据加载 UIPickerView。我想将所选行设置为另一个表中数据的特定行。

例如:假设我有一个 UIPickerView 加载了 X 个 iPhone 用户 friend 的名字(名字的数量是可变的;它可以是 1 或 1000,并且都是由用户输入数据库)。 iPhone 用户有一个偏好设置,即他们当前最好的 friend 是 TED。我希望 UIPickerView 在显示时位于 TED 的位置。

我在哪里调用 selectRow

我在 viewDidAppear 中尝试过,但它从未被调用,在 titleForRow 中导致各种奇怪的行为。 viewDidLoadviewWillAppear 是不可能的,因为我还不知道选择器的数据源中有什么。

最佳答案

检索数据后调用它。我不知道你在哪里加载数据,所以这只是应该工作的模型。如果这没有意义,请告诉我您在哪里加载数据,以便我可以在脑海中将其拼凑起来:)

-(void)viewDidLoad
{
    // load data from sql
    // self.someDataArray = DATAFROMSQL
    [picker reloadAllComponents];
    [picker selectRow:0 inComponent:0 animated:YES];
}

https://stackoverflow.com/questions/812995/

相关文章:

iphone - 你需要在 GCD 的一个 block 中创建一个 NSAutoreleasePoo

objective-c - @interface 和 @protocol 解释?

ios - 如何从 UIPickerView 获取选定的值

objective-c - iOS 8 iPhone 上的 UIPopoverPresentatio

iphone - UIBarButtonItem : target-action not worki

iphone - 如何覆盖@synthesized getter?

ios - 如何关闭 Storyboard 弹出框

iphone - 实现 copyWithZone : 时的最佳实践

ios - 通过 iOS 创建和导出动画 gif?

objective-c - 整数总是初始化为0吗?