2011-05-11 31 views
0

當我點擊任何商工具欄按鈕,我得到一個:當我點擊一個按鈕時,爲什麼會出現「無法識別的選擇器」錯誤?

終止應用程序由於未捕獲的異常「NSInvalidArgumentException」,原因是:「 - [AddRecipientsTableViewController btnRemoteRecipients:]:無法識別的選擇發送到實例0x4b87b10」

頭文件

@interface AddRecipientsTableViewController : UITableViewController { 

} 

-(IBAction) btnLocalRecipients; 
-(IBAction) btnRemoteRecipients; 


@end 

接口文件

#import "AddRecipientsTableViewController.h" 


@implementation AddRecipientsTableViewController 




-(IBAction) btnLocalRecipients{ 


} 
-(IBAction) btnRemoteRecipients{ 


} 


#pragma mark - 
#pragma mark View lifecycle 


- (void)viewDidLoad { 
    [super viewDidLoad]; 







    // Uncomment the following line to display an Edit button in the navigation bar for this view controller. 
    // self.navigationItem.rightBarButtonItem = self.editButtonItem; 
} 



- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 


    self.navigationItem.title = @"Add Recipients"; 

    self.navigationController.toolbarHidden=NO; 


    UIBarButtonItem   *localItem; 
    UIBarButtonItem   *remoteItem; 


    localItem = [[ UIBarButtonItem alloc ] initWithTitle: @"Local" 
                style: UIBarButtonItemStyleBordered 
                target: self 
                action: @selector(btnLocalRecipients:) ]; 



    remoteItem = [[ UIBarButtonItem alloc ] initWithTitle: @"Remote" 
                style: UIBarButtonItemStyleBordered 
                target: self 
                action: @selector(btnRemoteRecipients:) ]; 

    self.toolbarItems = nil ; 

    self.toolbarItems = [ NSArray arrayWithObjects: localItem,remoteItem,nil ]; 

    [localItem release]; 
    [remoteItem release]; 


} 

/* 
- (void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 
} 
*/ 

- (void)viewWillDisappear:(BOOL)animated { 
    [super viewWillDisappear:animated]; 

    self.navigationController.toolbarHidden=YES; 


} 

/* 
- (void)viewDidDisappear:(BOOL)animated { 
    [super viewDidDisappear:animated]; 
} 
*/ 
/* 
// Override to allow orientations other than the default portrait orientation. 
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    // Return YES for supported orientations. 
    return (interfaceOrientation == UIInterfaceOrientationPortrait); 
} 
*/ 


#pragma mark - 
#pragma mark Table view data source 

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    // Return the number of sections. 
    return 1; 
} 


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    // Return the number of rows in the section. 
    return 1; 
} 


// Customize the appearance of table view cells. 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
    } 

    // Configure the cell... 

    return cell; 
} 


/* 
// Override to support conditional editing of the table view. 
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { 
    // Return NO if you do not want the specified item to be editable. 
    return YES; 
} 
*/ 


/* 
// Override to support editing the table view. 
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 

    if (editingStyle == UITableViewCellEditingStyleDelete) { 
     // Delete the row from the data source. 
     [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; 
    } 
    else if (editingStyle == UITableViewCellEditingStyleInsert) { 
     // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view. 
    } 
} 
*/ 


/* 
// Override to support rearranging the table view. 
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { 
} 
*/ 


/* 
// Override to support conditional rearranging of the table view. 
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { 
    // Return NO if you do not want the item to be re-orderable. 
    return YES; 
} 
*/ 


#pragma mark - 
#pragma mark Table view delegate 

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    // Navigation logic may go here. Create and push another view controller. 
    /* 
    <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil]; 
    // ... 
    // Pass the selected object to the new view controller. 
    [self.navigationController pushViewController:detailViewController animated:YES]; 
    [detailViewController release]; 
    */ 
} 


#pragma mark - 
#pragma mark Memory management 

- (void)didReceiveMemoryWarning { 
    // Releases the view if it doesn't have a superview. 
    [super didReceiveMemoryWarning]; 

    // Relinquish ownership any cached data, images, etc. that aren't in use. 
} 

- (void)viewDidUnload { 
    // Relinquish ownership of anything that can be recreated in viewDidLoad or on demand. 
    // For example: self.myOutlet = nil; 
} 


- (void)dealloc { 
    [super dealloc]; 
} 


@end 

回答

3

您需要在函數btnLocalRecipientsbtnRemoteRecipients中添加:(id) sender。 與

-(IBAction) btnLocalRecipients:(id) sender{ 


} 
-(IBAction) btnRemoteRecipients:(id) sender{ 


} 
2

嘗試從您的選擇器中刪除:。您聲明的方法沒有參數,因此名稱中沒有:

2

嘗試選擇應該是不btnRemoteRecipientsbtnRemoteRecipients:(刪除:

相關問題