嗨,我是委托的新手,我拥有的是一个 TableView,它带有一个包含委托协议的自定义表格视图单元格。
当我单击自定义视图单元的子视图按钮时,它会触发一个事件,该事件会将值传递给我的 ViewControllers 方法。
TableView 在视图控制器内部。
customviewcell 工作正常我什至在按钮单击时记录并且它工作正常但是当它不想输入称为的条件时self.delegate respondsToSelector:@selector(btnEditParentLabelText:)
这是我的 customviewcell.h
// ParentTableCell.h
#import <UIKit/UIKit.h>
@protocol ParentTableCellDelegate <NSObject>
@optional
- (void)btnEditParentLabelText:(NSString *)amountParentLabel;
@end
@interface ParentTableCell : UITableViewCell
@property (strong,nonatomic) IBOutlet UITextField *parentLabel;
@property (nonatomic, weak) id <ParentTableCellDelegate>delegate;
-(IBAction)btnEditParentLabel:(id)sender;
@end
customviewcell.m(并非所有代码都只是委托所需的代码)
// ParentTableCell.m
#import "ParentTableCell.h"
-(IBAction)btnEditParentLabel:(id)sender{
NSLog(@"click btn");
if ([self.delegate respondsToSelector:@selector(btnEditParentLabelText:)]) {
NSLog(@"Inside");
[self.delegate btnEditParentLabelText:@"test"];
}
};
@end
这是我的视图控制器,我在其中实现 TableParentCellDelegate 并包含 TableView
// PositionViewController.h
#import <UIKit/UIKit.h>
#import "ParentTableCell.h"
@interface PositionViewController : UIViewController<UITableViewDelegate,UITableViewDataSource,UIAlertViewDelegate,ParentTableCellDelegate>
{
UIAlertView *addPostionpopup;
}
#define addPositionAlert 1
#define deletePositionAlert 2
@property(nonatomic,strong) IBOutlet UITableView *positionTable;
- (IBAction)btnAddPosition:(id)sender;
@end
并且它的 m 文件只是放置了用于委托的方法:
- (void)btnEditParentLabelText:(NSString *)amountParentLabel{
NSLog(@">>> %@", amountParentLabel);
}
我的实施有问题吗?
谢谢