在我的應用程序中,我想調用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