在我的应用程序中,我想调用IBAction
方法viewDidLoad
方法。我打电话给[self myContest:nil];
这样。当我点击IBAction
方法它工作正常,但最初启动它不工作的屏幕。IBAction方法不调用viewDidLoad方法?
最初我的屏幕上这个样子,
这里是IBAction为准则,
是什么问题?任何帮助。
在我的应用程序中,我想调用IBAction
方法viewDidLoad
方法。我打电话给[self myContest:nil];
这样。当我点击IBAction
方法它工作正常,但最初启动它不工作的屏幕。IBAction方法不调用viewDidLoad方法?
最初我的屏幕上这个样子,
这里是IBAction为准则,
是什么问题?任何帮助。
IBAction
被要求采取行动。为了达到您的要求,您可以使用您要执行的代码创建一个功能,然后从viewDidLoad()
方法以及从IBAction()
方法中调用此功能。
void doTask() {
value = 0;
[tableViewContest reloadData];
if(str.length > 0)
{
NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding];
}
}
现在调用从任何你想喜欢这个功能:
-(IBAction)myContest:(id)sender {
doTask():
}
或
- (void)viewDidLoad:(BOOL)animated {
doTask():
}
我会尽力告知你。 –
对不起,没有与此工作 –
有什么问题?你尝试调试这个问题吗? –
首先,如果你想它调用viewDidLoad中,你必须改变它,因为你不能调用一个IbAction方法直接查看数据加载
-(IBAction)myContest:(id)sender
到
-(void) myContest
,那么你就可以调用它viewDidLoad
方法
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self myContest];
}
这应该如何解决作者问题?你可以从代码中调用一个'IBAction'。 – Larme
的一种方法是,仅仅创建按钮
@property (weak, nonatomic) IBOutlet UIButton *btn
IBOutlet
,然后以编程方式触发该按钮的单击事件。
- (void)viewDidLoad {
[super viewDidLoad];
[btn sendActionsForControlEvents:UIControlEventTouchUpInside];
}
你必须在你的viewDidLoad编程假的触摸事件,以一个UIButton
[buttonObj sendActionsForControlEvents: UIControlEventTouchUpInside];
你不必“假摸”。 – Larme
定义“没有要求”完全相同。如果你在'myContest:'上放了一个'NSLog()'或一个断点,你会看到这个调用吗?你怎么知道它在工作? – Larme
@Larme它打电话,但没有显示任何东西。 –
它应该显示什么? – Larme