1

MainViewとしてTableViewを使用し、2番目のビューとしてviewcontrollerを使用しています。ビューコントローラには3つのテキストフィールドがあります。Textfiledsの値を取得してTableviewの配列に追加できるようにプロトコルを作成しています。目的は、テキストフィールドで指定したものをすべてテーブルセルに追加する必要があることです。私はsecondviewcontroller.hを持っています

@property (nonatomic,assign) id<secondviewcontrollerDelegate> delegate;

 @protocol secondviewcontrollerDelegate<NSObject>
- (void)additemsintoarray;
@end

secondviewcontroller.m

-(IBAction)ok:(id)sender
{
    [self.delegate additemsintoarray];
}

Tableview.hで

@interface RootViewController : UITableViewController<secondviewcontrollerDelegate> 

tableview.mで

- (void)additemsintoarray
{
    [self.array1 insertObject:scontroller.iditem1.text atIndex:[array1 count]];
    [self.array1 insertObject:scontroller.nameitem1.text atIndex:[array1 count]];
    [self.array1 insertObject:scontroller.iditem1.text atIndex:[array1 count]];
    [[self navigationController]popViewControllerAnimated:YES];
}

注:配列はいくつかの値を使用してTableviewで宣言されています...
エラーが発生します:

キャッチされなかった例外'NSInvalidArgumentException'が原因でアプリを終了しています、理由:'***-[UIView additemsintoarray:]:認識されないセレクターがインスタンスに送信されました

4

1 に答える 1

0

あなたRootViewControllerは代理人でなければなりません。UIViewがのデリゲートとして接続されているため、この問題が発生しますSecondViewController

お役に立てれば

于 2012-08-28T11:58:28.813 に答える