Hye everyone !!我有一個問題,我不知道我能做什麼! 我的目標是在其他ViewController中傳遞一個TableviewController的變量,當我在自定義單元中的buttom中調用。我使用自定義單元格,並在customcell中有2個標籤,一個按鈕。 這是我的代碼:自定義單元中的按鈕傳輸變量iphone
ArticlesCell.h
#import <UIKit/UIKit.h>
#import "CalculerViewController.h"
@interface ArticlesCell : UITableViewCell
@property (strong, nonatomic) IBOutlet UILabel *lblproduit;
@property (strong, nonatomic) IBOutlet UILabel *lblargent;
- (IBAction)btnincrement:(id)sender;
@property (strong, nonatomic) IBOutlet UIButton *btn;
@property (strong, nonatomic) NSString *recupererlblproduit;
@end
的一個tableviewcontroller:
ArticlesTableViewController.m
#import "ArticlesTableViewController.h"
#import "ArticlesCell.h"
@interface ArticlesTableViewController()
@end
@implementation ArticlesTableViewController
@synthesize arrayargent1,arrayproduit1,arrayargent2,arrayproduit2,recuperationproduit;
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
recuperationproduit=nil;
arrayproduit1 = [[NSMutableArray alloc] initWithObjects:@"Câble Ethernet UTP-CAT5 ",@"Câble Ethernet UTP-CAT6 ",@"Carte Réseau",@"Hub",@"Switch",@"Routeur",nil];
arrayargent1 = [[NSMutableArray alloc] initWithObjects:@"10 000",@"15 000 ",@"250 000",@"300 000",@"500 000",@"550 000",nil];
arrayproduit2 = [[NSMutableArray alloc] initWithObjects:@"Ram ",@"Disque Dur",@"Câble d'Alimentation",@"Carte Mere",@"Processeur",nil];
arrayargent2 = [[NSMutableArray alloc] initWithObjects:@"100",@"15 000 ",@"250 000",@"300 000",@"500 000",@"550 000",nil];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 2;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (section == 0)
return self.arrayproduit1.count;
if (section == 1)
return self.arrayproduit2.count;
return 0;
}
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
if (section == 0)
return @"Matériels Réseaux";
if (section == 1)
return @"Matériels Ordinateur";
return @"undefined";
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"seguecalcule"])
{
UINavigationController *navigationController = segue.destinationViewController;
CalculerViewController *calculerViewController = [[navigationController viewControllers] objectAtIndex:0];
calculerViewController.introlblproduit=recuperationproduit;
calculerViewController.delegate = self;
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"CellArticle";
ArticlesCell *cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[ArticlesCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
if (indexPath.section == 0){
cell.lblproduit.text = [arrayproduit1 objectAtIndex:indexPath.row];
cell.lblargent.text = [self.arrayargent1 objectAtIndex:indexPath.row];
}
else if (indexPath.section == 1){
cell.lblproduit.text = [self.arrayproduit2 objectAtIndex:indexPath.row];
cell.lblargent.text = [self.arrayargent2 objectAtIndex:indexPath.row];
}
return cell;
}
- (void)calculerViewControllerDidCancel:(CalculerViewController *)cancel
{
[self dismissViewControllerAnimated:YES completion:nil];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
}
@end
CalculerViewController.m
#import "CalculerViewController.h"
@interface CalculerViewController()
@end
@implementation CalculerViewController
@synthesize display,lbltitre,delegate,introlblproduit;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
lbltitre.text=introlblproduit;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)valider:(id)sender {
}
- (IBAction)cancel:(id)sender {
[self.delegate calculerViewControllerDidCancel:self];
}
@end
我想在自定義單元格中輸入自定義單元格的標籤。 請幫助我!
您只需將自定義單元的標籤值發送給其他viewcontroller。那是對的嗎? – GenieWanted
是的,當我點擊同一個單元格中的按鈕!謝謝你的評論!!解決這個問題對我來說非常重要! – user192417