簡體   English   中英

'NSInvalidArgumentException'/'-[AppDelegate fieldChanged:]:無法識別的選擇器已發送到實例

[英]'NSInvalidArgumentException' / '-[AppDelegate fieldChanged:]: unrecognized selector sent to instance

當我使用以下代碼時,該應用程序以NSInvalidArgumentException終止,但我不知道為什么:

在我的FieldViewController.m我有:

-(IBAction)fieldEntered:(NSString*)sender {
[self.temp resignFirstResponder];
NSString *setFieldEntered;
setFieldEntered = temp.text;
fieldTemp = setFieldEntered;
[(EditViewController *)[[UIApplication sharedApplication] delegate] fieldChanged:(id)sender];

[self dismissModalViewControllerAnimated:YES]; 
}

它終止於[(EditViewController *)[[UIApplication sharedApplication] delegate] fieldChanged:(id)sender]; 線。

在我的EditViewController.h中,我有-(void)fieldChanged:(id)sender; 在我的EditViewController.m文件中,我有:

-(void)fieldChanged:(id)sender {
    [fieldArray insertObject:[FieldViewController fieldEntered] atIndex:[fieldArray count]+1];
}

請幫我弄清楚這一點。 謝謝。

從錯誤中可以看出,UIApplication的委托似乎設置為名為AppDelegate的類的實例,而您將其視為另一個名為EditViewController的類。

那沒有道理。 可能是您忘記了參考控制器。 應該是這樣的:

[[[UIApplication sharedApplication] delegate].editViewController fieldChanged:sender];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM