0
我在學, 真的需要幫助!如何使用委託從TableViewCell.xib向ViewControllerB創建segue Objective c?
我有2個ViewControllers:ViewControllerA
與UITableView
(與TableViewCell .h .m .xib
文件)和ViewControllerB
。
我在CustomCell
中有「連接按鈕」- (IBAction)goButton:(id)sender;
。
如何使用委託從TableViewCell
轉到ViewControllerB
?
TableViewCell.h
#import <UIKit/UIKit.h>
@class TableViewCell;
@protocol TableViewCellDelegte <NSObject>
@required
- (void) customCell:(TableViewCell *)cell button1Pressed:(UIButton *)btn;
@end
@interface TableViewCell : UITableViewCell
- (IBAction)Button:(id)sender;
@property (weak, nonatomic) id<TableViewCellDelegte>delegate;
@end
TableViewCell.m
#import "TableViewCell.h"
@implementation TableViewCell
@synthesize delegate;
- (void) customCell:(TableViewCell *)cell button1Pressed:(UIButton *)btn;{
}
- (IBAction)Button:(id)sender {
}
ViewControllerA.h
#import <UIKit/UIKit.h>
#import "TableViewCell.h"
@interface ViewController : UIViewController <UITableViewDataSource, UITableViewDelegate,TableViewCellDelegte>
@property (weak, nonatomic) IBOutlet UITableView *tableView;
@property (nonatomic, assign) id delegate;
@end
ViewControllerA.m
#import "ViewController.h"
#import "TableViewCell.h"
@interface ViewController()
@end
@implementation ViewController
@synthesize delegate;
- (void)viewDidLoad {
[super viewDidLoad];
[self setAllTableData];
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.backgroundColor = [UIColor redColor];
_tableView.rowHeight = 100;
}
- (void) setAllTableData {
//[_tableView registerNib:[UINib nibWithNibName:@"TableViewCell" bundle:nil] forCellReuseIdentifier:@"TableViewCell"];
UINib *cellNib = [UINib nibWithNibName:@"TableViewCell" bundle:nil];
[self.tableView registerNib:cellNib forCellReuseIdentifier:@"TableViewCell"];
}
- (NSInteger) numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
-(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return 1;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
//UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"TableViewCell"];
//static NSString *CellIdentifier = @"TableViewCell";
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"TableViewCell" forIndexPath:indexPath];
if (!cell) {
cell = [[TableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"TableViewCell"];
cell.delegate = self;
}
return cell;
}
- (void) customCell:(TableViewCell *)cell button1Pressed:(UIButton *)btn{
NSLog(@"DELEGATE IS WORK");
}
@end
錯誤:cell.delegate = self;
屬性 '代理' 的類型 '的UITableViewCell *'