Objective c 如何在没有用户交互的情况下调用pickerView:didSelectRow:Incomonent:?

Objective c 如何在没有用户交互的情况下调用pickerView:didSelectRow:Incomonent:?,objective-c,ios,uipickerview,Objective C,Ios,Uipickerview,我有两个组件,依赖于pickerView。我有一个预览UIImageView,每次用户使用pickerView(并触发didSelectRow:incomonent:)时都会更改它。这正是我所期望的 但是,我希望当应用程序启动时,pickerView触发didSelectRow:,这样用户看到UIImageView时就会有预览。在viewDidLoad中,当我尝试此操作时: [self pickerView:picker didSelectRow:row inComponent:componen

我有两个组件,依赖于
pickerView
。我有一个预览
UIImageView
,每次用户使用
pickerView
(并触发
didSelectRow:incomonent:
)时都会更改它。这正是我所期望的

但是,我希望当应用程序启动时,
pickerView
触发
didSelectRow:
,这样用户看到
UIImageView
时就会有预览。在
viewDidLoad
中,当我尝试此操作时:

[self pickerView:picker didSelectRow:row inComponent:component]; // row and component have 0 values. 
接下来发生的事情是,
pickerView
显示为空白!拆下这条线,它会再次正常工作。我也试过这个:

[picker selectRow: row inComponent:component animated:NO];
认为它将触发
didSelectRow:
但它不会触发它,并且我的
UIImageView
保持空白

关于如何在没有用户帮助的情况下调用
didSelectRow:
方法,有什么建议吗


更新:顺便说一句,选择器在另一个
ui视图
中(不是主视图)。以防万一

根据你的评论,这就是你想要的。


您必须手动调用
didSelectRow
方法。

didSelectRow:…
仅当用户交互选择了一行时才会被调用。如果使用
selectRow:…
以编程方式选择行,则必须添加自己的逻辑以更新其他组件,如图像视图


这一原则适用于许多其他委托函数,例如,
tableView:didSelectRowAtIndexPath:

afaik
–selectRow:incomonent:animated:
。如果将代码移动到
viewdide
,会发生什么情况?它会选择指定的行和组件。但是didSelectRow:没有被触发。我想所有这些都完成了,因为它确实选择了我分配的行和组件,但是没有执行我在didSelectRow:中的代码。它甚至不输入您手动调用的didSelectRow方法的didSelectRow(使用NSLog测试)。它不会自动呼叫。检查这个是的,所有这些都完成了。我想Martin R在上面的回答中为我澄清了这一点。谢谢你的帮助。是的。。。我想是的。我只是想知道我是否做错了什么,因为我看到很多人说selectRow:triggers didSelectRow:。谢谢认可的。