0

タップされたボタンにモーダル ビューを表示します。

そのビューに、新しいビュー(追加ビュー)を作成しました。エクストラ ビューでは、UITableView& がありUIButtonます。

そのボタンをクリックすると、popOVer でビュー (Leftview) が開きます。

私のコードは次のとおりです。

// Leftside view:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    [[NSNotificationCenter defaultCenter] postNotificationName:@"DismissModal"object:nil];

}

// Presented modal view.m


- (void)viewDidLoad
{

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dismissModal:) name:@"DismissModal" object:nil];
}


-(void)dismissModal:(NSNotification *)notif
{

   [self dismissViewControllerAnimated:YES completion:nil];

}

私のエラーは次のとおりです。

[Reader_View disconnectModal]: インスタンス 0xb494e10 に送信された認識されないセレクター 2013-01-08 16:12:00.468 AFFeedsReader[3449:1d903] *キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。インスタンス 0xb494e10 へ

4

3 に答える 3

1

「Leftview.h」で、以下を実行します

@protocol DismissingDelegate

- (void) dismissextra;

@end
@property (weak, nonatomic) id<DismissingDelegate>delegate;

leftview を初期化するときに、モーダル ビューを表示する ViewController にデリゲートを割り当てます。

そのコントローラーで、それを「DismissingDelegate」として定義し、以下のメソッドを実装します。

- (void) dismissextra {
     [self dismissModalViewControllerAnimated:YES];
}
于 2013-01-08T11:38:46.277 に答える
0

単純なタスクには通知を使用しないでください。多くのリソースを消費するためです。アプリ全体で通知を取得する必要が本当にない限り、常に利用可能なデリゲート メソッドを使用してください。

于 2013-01-10T10:44:00.453 に答える
0

投稿通知を実装することでこれを解決しました。

于 2013-01-10T09:23:29.400 に答える