0

このコードを使用すると、アプリが 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];
}

これを理解するのを手伝ってください。ありがとうございました。

4

2 に答える 2

1

エラーから、UIApplicationのデリゲートはAppDelegateというクラスのインスタンスに設定されているように見えますが、EditViewControllerという別のクラスとして扱っています。

于 2012-09-26T17:01:58.877 に答える
0

それは意味がありません。コントローラーを参照するのを忘れている可能性があります。次のようになります。

[[[UIApplication sharedApplication] delegate].editViewController fieldChanged:sender];
于 2012-09-26T17:04:38.193 に答える