1

と呼ばれるボタンがありますSync。それをクリックすると、にいくつかの項目を表示するpopOverControllerを表示する必要がありますUITableView.mファイル内の次のコード行を使用して、 UIButtoninViewWillAppear関数を宣言しました。

UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithTitle:@"Sync"
                                                               style:UIBarButtonItemStyleBordered
                                                              target:self
                                                              action:@selector(syncAction)] ;

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

- (void)syncAction:(id)sender{


Sync = [[SyncTableViewController alloc] initWithStyle:UITableViewStylePlain];


Sync.syncDelegate = self;
self.SyncTableViewPopover = [[UIPopoverController alloc] 
                                   initWithContentViewController:Sync];               

[self.SyncTableViewPopover presentPopoverFromBarButtonItem:sender 
                                        permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];


}

ただし、アプリケーションを実行すると、次のエラーが発生します::

[splitViewXXXXViewController syncAction]: unrecognized selector sent to instance 0x6b70660

2012-07-02 15:35:59.549 splitView[895:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[splitViewXXXXViewController syncAction]: unrecognized selector sent to instance 0x6b70660'

私はそれを整理することができません。誰かが私がそれを整理するのを手伝ってくれる?よろしくお願いします。

4

3 に答える 3

2
UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithTitle:@"Sync"
                                                           style:UIBarButtonItemStyleBordered
                                                          target:self
                                                          action:@selector(syncAction:)] ;

ここにあなたの自己(splitViewXXXXViewController)があることを確認してください

- (void)syncAction:(id)sender;

ヘッダーで宣言されたメソッド、および

action:@selector(syncAction:)]

セミコロンを追加することを忘れないでください。

于 2012-07-02T10:23:02.010 に答える
2

@selector(syncAction:)を使用する必要があります

UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithTitle:@"Sync"
                                                           style:UIBarButtonItemStyleBordered
                                                          target:self
                                                          action:@selector(syncAction:)] ;

これで問題が解決します

于 2012-07-02T10:20:55.423 に答える
1

セレクターを呼び出すときに、追加のコロン':'がありません。

于 2012-07-02T10:20:20.137 に答える