2014-06-25 287 views
-6

當我啓動我的應用程序,點擊我的RootViewController的(AufnahmeIstTableViewController)細胞時,它打開了我的DetailViewController(AufnahmeISTDetailTableViewController)。當我然後在電池接頭,它應該打開第三個視圖控制器(AufnahmeIstDetailDetailViewController )。我的應用程序像本教程中那樣工作:http://www.youtube.com/watch?v=99Ssk1-HUq4標籤不顯示文本

但是,當我點擊一個單元格並打開第三個視圖時,第三個視圖控制器上的標籤不會顯示任何代碼中聲明的文本。

我必須改變什麼?這裏是我的所有文件:

這裏是我的AufnahmeIstTableViewController.h文件:

#import <UIKit/UIKit.h> 

@interface AufnahmeIstTableViewController : UITableViewController 

@property (strong, nonatomic) NSMutableArray *categoryArray; 
@end 

這是我的AufnahmeIstTableViewController.m文件:

#import "AufnahmeIstTableViewController.h" 
#import "AufnahmeISTDetailTableViewController.h" 

@interface AufnahmeIstTableViewController() 

@end 

@implementation AufnahmeIstTableViewController 
@synthesize categoryArray; 


-(NSMutableArray *)categoryArray 
{ 
    if (!categoryArray) 

    { 
     categoryArray = [[NSMutableArray alloc]init]; 
    } 
    return categoryArray; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [self.categoryArray addObject:@"Gesetze"]; 
    [self.categoryArray addObject:@"Verordnungen"]; 
    [self.categoryArray addObject:@"Technische Regeln"]; 
    [self.categoryArray addObject:@"Berufsgenossenschaft"]; 
    [self.categoryArray addObject:@"Management"]; 
    [self.categoryArray addObject:@"Personal"]; 
    [self.categoryArray addObject:@"Vertrieb"]; 
    [self.categoryArray addObject:@"Kunden"]; 
    [self.categoryArray addObject:@"Lieferanten"]; 
    [self.categoryArray addObject:@"Arbeitsumgebung"]; 
    [self.categoryArray addObject:@"Produktion"]; 
    [self.categoryArray addObject:@"Produkte"]; 
    [self.categoryArray addObject:@"Messmittel"]; 
    [self.categoryArray addObject:@"Informationssicherheit"]; 
    [self.categoryArray addObject:@"Rechnungswesen"]; 
    [self.categoryArray addObject:@"Dritte"]; 

    [self setTitle:@"Ist-Aufnahme"]; 


    // Uncomment the following line to preserve selection between presentations. 
    // self.clearsSelectionOnViewWillAppear = NO; 

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

- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

#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 self.categoryArray.count; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    cell.textLabel.text = self.categoryArray [indexPath.row]; 

    return cell; 
} 

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    AufnahmeISTDetailTableViewController *categories = [[AufnahmeISTDetailTableViewController alloc]init]; 

    if ([[self.categoryArray objectAtIndex:indexPath.row] isEqual:@"Gesetze"]) 
     categories.istAufnahmeInt = 0; 

    if ([[self.categoryArray objectAtIndex:indexPath.row] isEqual:@"Verordnungen"]) 
     categories.istAufnahmeInt = 1; 

    if ([[self.categoryArray objectAtIndex:indexPath.row] isEqual:@"Technische Regeln"]) 
     categories.istAufnahmeInt = 2; 

    if ([[self.categoryArray objectAtIndex:indexPath.row] isEqual:@"Berufsgenossenschaft"]) 
     categories.istAufnahmeInt = 3; 

    if ([[self.categoryArray objectAtIndex:indexPath.row] isEqual:@"Management"]) 
     categories.istAufnahmeInt = 4; 

    if ([[self.categoryArray objectAtIndex:indexPath.row] isEqual:@"Personal"]) 
     categories.istAufnahmeInt = 5; 

    if ([[self.categoryArray objectAtIndex:indexPath.row] isEqual:@"Vertrieb"]) 
     categories.istAufnahmeInt = 6; 

    if ([[self.categoryArray objectAtIndex:indexPath.row] isEqual:@"Kunden"]) 
     categories.istAufnahmeInt = 7; 

    if ([[self.categoryArray objectAtIndex:indexPath.row] isEqual:@"Lieferanten"]) 
     categories.istAufnahmeInt = 8; 

    if ([[self.categoryArray objectAtIndex:indexPath.row] isEqual:@"Arbeitsumgebung"]) 
     categories.istAufnahmeInt = 9; 

    if ([[self.categoryArray objectAtIndex:indexPath.row] isEqual:@"Produktion"]) 
     categories.istAufnahmeInt = 10; 

    if ([[self.categoryArray objectAtIndex:indexPath.row] isEqual:@"Produkte"]) 
     categories.istAufnahmeInt = 11; 

    if ([[self.categoryArray objectAtIndex:indexPath.row] isEqual:@"Messmittel"]) 
     categories.istAufnahmeInt = 12; 

    if ([[self.categoryArray objectAtIndex:indexPath.row] isEqual:@"Informationssicherheit"]) 
     categories.istAufnahmeInt = 13; 

    if ([[self.categoryArray objectAtIndex:indexPath.row] isEqual:@"Rechnungswesen"]) 
     categories.istAufnahmeInt = 14; 

    if ([[self.categoryArray objectAtIndex:indexPath.row] isEqual:@"Dritte"]) 
     categories.istAufnahmeInt = 15; 


    [categories setTitle:[self.categoryArray objectAtIndex:indexPath.row]]; 
     //[self.navigationController pushViewController:categories animated:YES]; 
    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 
} 
#pragma mark - Navigation 
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 
if([segue.identifier isEqualToString:@"DetailView"]) 
{ 
    AufnahmeISTDetailTableViewController *controller = (AufnahmeISTDetailTableViewController *)segue.destinationViewController; 
    if ([[self.categoryArray objectAtIndex:[self.tableView indexPathForSelectedRow].row] isEqual:@"Gesetze"]) 
     controller.istAufnahmeInt = 0; 

    if ([[self.categoryArray objectAtIndex:[self.tableView indexPathForSelectedRow].row] isEqual:@"Verordnungen"]) 
     controller.istAufnahmeInt = 1; 

    if ([[self.categoryArray objectAtIndex:[self.tableView indexPathForSelectedRow].row] isEqual:@"Technische Regeln"]) 
     controller.istAufnahmeInt = 2; 

    if ([[self.categoryArray objectAtIndex:[self.tableView indexPathForSelectedRow].row] isEqual:@"Berufsgenossenschaft"]) 
     controller.istAufnahmeInt = 3; 

    if ([[self.categoryArray objectAtIndex:[self.tableView indexPathForSelectedRow].row] isEqual:@"Management"]) 
     controller.istAufnahmeInt = 4; 

    if ([[self.categoryArray objectAtIndex:[self.tableView indexPathForSelectedRow].row] isEqual:@"Personal"]) 
     controller.istAufnahmeInt = 5; 

    if ([[self.categoryArray objectAtIndex:[self.tableView indexPathForSelectedRow].row] isEqual:@"Vertrieb"]) 
     controller.istAufnahmeInt = 6; 

    if ([[self.categoryArray objectAtIndex:[self.tableView indexPathForSelectedRow].row] isEqual:@"Kunden"]) 
     controller.istAufnahmeInt = 7; 

    if ([[self.categoryArray objectAtIndex:[self.tableView indexPathForSelectedRow].row] isEqual:@"Lieferanten"]) 
     controller.istAufnahmeInt = 8; 

    if ([[self.categoryArray objectAtIndex:[self.tableView indexPathForSelectedRow].row] isEqual:@"Arbeitsumgebung"]) 
     controller.istAufnahmeInt = 9; 

    if ([[self.categoryArray objectAtIndex:[self.tableView indexPathForSelectedRow].row] isEqual:@"Produktion"]) 
     controller.istAufnahmeInt = 10; 

    if ([[self.categoryArray objectAtIndex:[self.tableView indexPathForSelectedRow].row] isEqual:@"Produkte"]) 
     controller.istAufnahmeInt = 11; 

    if ([[self.categoryArray objectAtIndex:[self.tableView indexPathForSelectedRow].row] isEqual:@"Messmittel"]) 
     controller.istAufnahmeInt = 12; 

    if ([[self.categoryArray objectAtIndex:[self.tableView indexPathForSelectedRow].row] isEqual:@"Informationssicherheit"]) 
     controller.istAufnahmeInt = 13; 

    if ([[self.categoryArray objectAtIndex:[self.tableView indexPathForSelectedRow].row] isEqual:@"Rechnungswesen"]) 
     controller.istAufnahmeInt = 14; 

    if ([[self.categoryArray objectAtIndex:[self.tableView indexPathForSelectedRow].row] isEqual:@"Dritte"]) 
     controller.istAufnahmeInt = 15; 

    [controller setTitle:[self.categoryArray objectAtIndex:[self.tableView indexPathForSelectedRow].row]]; 
} 
} 


@end 

這是我的AufnahmeISTDetailTableViewController.h文件:

#import <UIKit/UIKit.h> 
#import "AufnahmeIstTableViewController.h" 
#import "AufnahmeIstDetailDetailViewController.h" 

@interface AufnahmeISTDetailTableViewController : UITableViewController { 
    NSMutableArray *gesetzeArray; 
    NSMutableArray *verordnungenArray; 
    NSMutableArray *technischeregelnArray; 
    NSMutableArray *berufsgenossenschaftArray; 
    NSMutableArray *managementArray; 
    NSMutableArray *personalArray; 
    NSMutableArray *vertriebArray; 
    NSMutableArray *kundenArray; 
    NSMutableArray *lieferantenArray; 
    NSMutableArray *arbeitsumgebungArray; 
    NSMutableArray *produktionArray; 
    NSMutableArray *produkteArray; 
    NSMutableArray *messmittelArray; 
    NSMutableArray *informationssicherheitArray; 
    NSMutableArray *rechnungswesenArray; 
    NSMutableArray *dritteArray; 


} 
@property int istAufnahmeInt; 
@property AufnahmeIstTableViewController *categories; 

-(void)makeData; 


@end 

這裏是我的AufnahmeISTDetailTableViewController.m文件:

#import "AufnahmeISTDetailTableViewController.h" 
#import "AufnahmeIstTableViewController.h" 
#import "AufnahmeIstDetailDetailViewController.h" 

@interface AufnahmeISTDetailTableViewController() 

@end 

@implementation AufnahmeISTDetailTableViewController 
@synthesize istAufnahmeInt; 
@synthesize categories; 


- (id)initWithStyle:(UITableViewStyle)style 
{ 
    self = [super initWithStyle:style]; 
    if (self) { 
     // Custom initialization 
    } 
    return self; 
} 


- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

     // Uncomment the following line to preserve selection between presentations. 
    // self.clearsSelectionOnViewWillAppear = NO; 

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

} 
-(void)makeData 
{ 
    gesetzeArray = [[NSMutableArray alloc]init]; 
    verordnungenArray = [[NSMutableArray alloc]init]; 
    technischeregelnArray = [[NSMutableArray alloc]init]; 
    berufsgenossenschaftArray= [[NSMutableArray alloc]init]; 
    managementArray= [[NSMutableArray alloc]init]; 
    personalArray= [[NSMutableArray alloc]init]; 
    vertriebArray= [[NSMutableArray alloc]init]; 
    kundenArray= [[NSMutableArray alloc]init]; 
    lieferantenArray= [[NSMutableArray alloc]init]; 
    arbeitsumgebungArray= [[NSMutableArray alloc]init]; 
    produktionArray= [[NSMutableArray alloc]init]; 
    produkteArray= [[NSMutableArray alloc]init]; 
    messmittelArray= [[NSMutableArray alloc]init]; 
    informationssicherheitArray= [[NSMutableArray alloc]init]; 
    rechnungswesenArray= [[NSMutableArray alloc]init]; 
    dritteArray= [[NSMutableArray alloc]init]; 

    //Gesetze 
     [gesetzeArray addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Bundesdatenschutzgesetz",@"name",@"Bundesdatenschutzgesetz wurde gedrückt", @"description", nil]]; 

    //Verordnungen 
     [verordnungenArray addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Verordnung zur arbeitsmedizinischen Vorsorge – ArbMedVV",@"name",@"Verordnung zur arbeitsmedizinischen Vorsorge – ArbMedVV wurde gedrückt",@"description", nil]]; 

    //Technische Regeln 
     [technischeregelnArray addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Technische Regeln",@"name",@"Technische Regeln wurde gedrückt", @"description", nil]]; 
    //Berufsgenossenschaft 
     [berufsgenossenschaftArray addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Berufsgenossenschaft",@"name",@"Berufsgenossenschaft wurde gedrückt", @"description", nil]]; 
    //Management 
     [managementArray addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Bundesdatenschutzgesetz",@"name",@"Bundesdatenschutzgesetz wurde gedrückt", @"description", nil]]; 
    //Personal 
     [personalArray addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Bundesdatenschutzgesetz",@"name",@"Bundesdatenschutzgesetz wurde gedrückt", @"description", nil]]; 
    //Vertrieb 
     [vertriebArray addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Bundesdatenschutzgesetz",@"name",@"Bundesdatenschutzgesetz wurde gedrückt", @"description", nil]]; 
    //Kunden 
     [kundenArray addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Bundesdatenschutzgesetz",@"name",@"Bundesdatenschutzgesetz wurde gedrückt", @"description", nil]]; 
    //Lieferanten 
     [lieferantenArray addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Bundesdatenschutzgesetz",@"name",@"Bundesdatenschutzgesetz wurde gedrückt", @"description", nil]]; 
    //Arbeitsumgebung 
     [arbeitsumgebungArray addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Bundesdatenschutzgesetz",@"name",@"Bundesdatenschutzgesetz wurde gedrückt", @"description", nil]]; 
    //Produktion 
     [produktionArray addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Bundesdatenschutzgesetz",@"name",@"Bundesdatenschutzgesetz wurde gedrückt", @"description", nil]]; 
    //Produkte 
     [produkteArray addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Bundesdatenschutzgesetz",@"name",@"Bundesdatenschutzgesetz wurde gedrückt", @"description", nil]]; 
    //Messmittel 
     [messmittelArray addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Bundesdatenschutzgesetz",@"name",@"Bundesdatenschutzgesetz wurde gedrückt", @"description", nil]]; 
    //Informationssicherheit 
     [informationssicherheitArray addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Bundesdatenschutzgesetz",@"name",@"Bundesdatenschutzgesetz wurde gedrückt", @"description", nil]]; 
    //Rechnungswesen 
     [rechnungswesenArray addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Bundesdatenschutzgesetz",@"name",@"Bundesdatenschutzgesetz wurde gedrückt", @"description", nil]]; 
    //Dritte 
     [dritteArray addObject:[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Bundesdatenschutzgesetz",@"name",@"Bundesdatenschutzgesetz wurde gedrückt", @"description", nil]]; 
} 

- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

#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. 
    if (self.istAufnahmeInt == 0) 
    { 
     return [gesetzeArray count]; 
    } 
    if (self.istAufnahmeInt == 1) 
    { 
     return [verordnungenArray count]; 
    } 
    if (self.istAufnahmeInt == 2) 
    { 
     return [technischeregelnArray count]; 
    } 
    if (self.istAufnahmeInt == 3) 
    { 
     return [berufsgenossenschaftArray count]; 
    } 
    if (self.istAufnahmeInt == 4) 
    { 
     return [managementArray count]; 
    } 
    if (self.istAufnahmeInt == 5) 
    { 
     return [personalArray count]; 
    } 
    if (self.istAufnahmeInt == 6) 
    { 
     return [vertriebArray count]; 
    } 
    if (self.istAufnahmeInt == 7) 
    { 
     return [kundenArray count]; 
    } 
    if (self.istAufnahmeInt == 8) 
    { 
     return [lieferantenArray count]; 
    } 
    if (self.istAufnahmeInt == 9) 
    { 
     return [arbeitsumgebungArray count]; 
    } 
    if (self.istAufnahmeInt == 10) 
    { 
     return [produktionArray count]; 
    } 
    if (self.istAufnahmeInt == 11) 
    { 
     return [produkteArray count]; 
    } 
    if (self.istAufnahmeInt == 12) 
    { 
     return [messmittelArray count]; 
    } 
    if (self.istAufnahmeInt == 13) 
    { 
     return [informationssicherheitArray count]; 
    } 
    if (self.istAufnahmeInt == 14) 
    { 
     return [rechnungswesenArray count]; 
    } 
    if (self.istAufnahmeInt == 15) 
    { 
     return [dritteArray count]; 
    } 
    else 
    { 
     return 1; 
    } 
    [self.tableView reloadData]; 

} 


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier1 = @"DetailCell"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier1 forIndexPath:indexPath]; 
    if (cell == nil){ 
     cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier1]; 
    } 

    // Configure the cell... 
       if (self.istAufnahmeInt == 0) cell.textLabel.text = [[gesetzeArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
       if (self.istAufnahmeInt == 1) cell.textLabel.text = [[verordnungenArray objectAtIndex:indexPath.row]objectForKey:@"name" ]; 
       if (self.istAufnahmeInt == 2) cell.textLabel.text = [[technischeregelnArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
       if (self.istAufnahmeInt == 3) cell.textLabel.text = [[berufsgenossenschaftArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
       if (self.istAufnahmeInt == 4) cell.textLabel.text = [[managementArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
       if (self.istAufnahmeInt == 5) cell.textLabel.text = [[personalArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
       if (self.istAufnahmeInt == 6) cell.textLabel.text = [[vertriebArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
       if (self.istAufnahmeInt == 7) cell.textLabel.text = [[kundenArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
       if (self.istAufnahmeInt == 8) cell.textLabel.text = [[lieferantenArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
       if (self.istAufnahmeInt == 9) cell.textLabel.text = [[arbeitsumgebungArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
       if (self.istAufnahmeInt == 10) cell.textLabel.text = [[produktionArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
       if (self.istAufnahmeInt == 11) cell.textLabel.text = [[produkteArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
       if (self.istAufnahmeInt == 12) cell.textLabel.text = [[messmittelArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
       if (self.istAufnahmeInt == 13) cell.textLabel.text = [[informationssicherheitArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
       if (self.istAufnahmeInt == 14) cell.textLabel.text = [[rechnungswesenArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
       if (self.istAufnahmeInt == 15) cell.textLabel.text = [[dritteArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 


    return cell; 
} 

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    AufnahmeIstDetailDetailViewController *aufnahmeistDetail =[[AufnahmeIstDetailDetailViewController alloc]initWithNibName:@"AufnahmeIstDetailDetailViewController" bundle:nil]; 

    if (istAufnahmeInt == 0) 
    { 
     aufnahmeistDetail.titelString = [[NSString alloc]initWithString:[[gesetzeArray objectAtIndex:indexPath.row]objectForKey:@"name"]]; 
     aufnahmeistDetail.title = [[gesetzeArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
    } 

    if (istAufnahmeInt == 1) 
    { 
     aufnahmeistDetail.titelString = [[NSString alloc]initWithString:[[verordnungenArray objectAtIndex:indexPath.row]objectForKey:@"name"]]; 
     aufnahmeistDetail.title = [[verordnungenArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
    } 

    if (istAufnahmeInt == 2) 
    { 
     aufnahmeistDetail.titelString = [[NSString alloc]initWithString:[[technischeregelnArray objectAtIndex:indexPath.row]objectForKey:@"name"]]; 
     aufnahmeistDetail.title = [[technischeregelnArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
    } 

    if (istAufnahmeInt == 3) 
    { 
     aufnahmeistDetail.titelString = [[NSString alloc]initWithString:[[berufsgenossenschaftArray objectAtIndex:indexPath.row]objectForKey:@"name"]]; 
     aufnahmeistDetail.title = [[berufsgenossenschaftArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
    } 

    if (istAufnahmeInt == 4) 
    { 
     aufnahmeistDetail.titelString = [[NSString alloc]initWithString:[[managementArray objectAtIndex:indexPath.row]objectForKey:@"name"]]; 
     aufnahmeistDetail.title = [[managementArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
    } 

    if (istAufnahmeInt == 5) 
    { 
     aufnahmeistDetail.titelString = [[NSString alloc]initWithString:[[personalArray objectAtIndex:indexPath.row]objectForKey:@"name"]]; 
     aufnahmeistDetail.title = [[personalArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
    } 

    if (istAufnahmeInt == 6) 
    { 
     aufnahmeistDetail.titelString = [[NSString alloc]initWithString:[[vertriebArray objectAtIndex:indexPath.row]objectForKey:@"name"]]; 
     aufnahmeistDetail.title = [[vertriebArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
    } 

    if (istAufnahmeInt == 7) 
    { 
     aufnahmeistDetail.titelString = [[NSString alloc]initWithString:[[kundenArray objectAtIndex:indexPath.row]objectForKey:@"name"]]; 
     aufnahmeistDetail.title = [[kundenArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
    } 

    if (istAufnahmeInt == 8) 
    { 
     aufnahmeistDetail.titelString = [[NSString alloc]initWithString:[[lieferantenArray objectAtIndex:indexPath.row]objectForKey:@"name"]]; 
     aufnahmeistDetail.title = [[lieferantenArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
    } 

    if (istAufnahmeInt == 9) 
    { 
     aufnahmeistDetail.titelString = [[NSString alloc]initWithString:[[arbeitsumgebungArray objectAtIndex:indexPath.row]objectForKey:@"name"]]; 
     aufnahmeistDetail.title = [[arbeitsumgebungArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
    } 

    if (istAufnahmeInt == 10) 
    { 
     aufnahmeistDetail.titelString = [[NSString alloc]initWithString:[[produktionArray objectAtIndex:indexPath.row]objectForKey:@"name"]]; 
     aufnahmeistDetail.title = [[produktionArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
    } 

    if (istAufnahmeInt == 11) 
    { 
     aufnahmeistDetail.titelString = [[NSString alloc]initWithString:[[produkteArray objectAtIndex:indexPath.row]objectForKey:@"name"]]; 
     aufnahmeistDetail.title = [[produkteArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
    } 

    if (istAufnahmeInt == 12) 
    { 
     aufnahmeistDetail.titelString = [[NSString alloc]initWithString:[[messmittelArray objectAtIndex:indexPath.row]objectForKey:@"name"]]; 
     aufnahmeistDetail.title = [[messmittelArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
    } 

    if (istAufnahmeInt == 13) 
    { 
     aufnahmeistDetail.titelString = [[NSString alloc]initWithString:[[informationssicherheitArray objectAtIndex:indexPath.row]objectForKey:@"name"]]; 
     aufnahmeistDetail.title = [[informationssicherheitArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
    } 

    if (istAufnahmeInt == 14) 
    { 
     aufnahmeistDetail.titelString = [[NSString alloc]initWithString:[[rechnungswesenArray objectAtIndex:indexPath.row]objectForKey:@"name"]]; 
     aufnahmeistDetail.title = [[rechnungswesenArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
    } 

    if (istAufnahmeInt == 15) 
    { 
     aufnahmeistDetail.titelString = [[NSString alloc]initWithString:[[dritteArray objectAtIndex:indexPath.row]objectForKey:@"name"]]; 
     aufnahmeistDetail.title = [[dritteArray objectAtIndex:indexPath.row]objectForKey:@"name"]; 
    } 


} 
@end 

這是我的AufnahmeISTDetailTableViewController.h文件:

#import <UIKit/UIKit.h> 
#import "AufnahmeISTDetailTableViewController.h" 
@interface AufnahmeIstDetailDetailViewController : UIViewController 

{ 
    IBOutlet UILabel *titleLabel; 
    IBOutlet UILabel *textLabel; 
    NSString *titelString; 
    NSString *textString; 
} 
@property (nonatomic, retain) NSString *titelString; 
@property (nonatomic, retain) NSString *textString; 


@end 

最後,這裏是我的AufnahmeISTDetailTableViewController.m文件:

#import "AufnahmeIstDetailDetailViewController.h" 
#import "AufnahmeISTDetailTableViewController.h" 

@interface AufnahmeIstDetailDetailViewController() 

@end 

@implementation AufnahmeIstDetailDetailViewController 
@synthesize textString; 
@synthesize titelString; 

- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
    } 
    return self; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 


    // Do any additional setup after loading the view. 
    titleLabel.text = titelString; 
    textLabel.text = textString; 
} 

- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

/* 
#pragma mark - Navigation 

// In a storyboard-based application, you will often want to do a little preparation before navigation 
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    // Get the new view controller using [segue destinationViewController]. 
    // Pass the selected object to the new view controller. 
} 
*/ 

@end 

回答

1

我的建議是隻設置斷點,並確保您的代碼設置標籤實際上是設置正確的字符串值。如果您確信這一點,那麼您的IB文件肯定有問題(clearColor text,也許?)。

另一方面,您的視圖控制器中存在可怕的硬編碼。您應該從您的視圖中分離數據。

0

在您的第二個視圖控制器中,您正在設置titelStringtextString在您實際未顯示的viewController上。

你需要在你的第二個視圖控制器來實現prepareForSegue:sender:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    AufnahmeIstDetailDetailViewController *aufnahmeistDetail = [segue destinationViewController]; 
    int selectedRow = [self.tableView indexPathForSelectedRow].row; 

    aufnahmeistDetail.titleString = ...; // get the appropriate string based on the selected row 
    aufnahmeistDetail.textString = ...; 
} 
+0

那麼你看起來應該是什麼樣子? – user3734506

+0

獲取合適的字符串,就像你在'tableView:didSelectRowAtIndexPath:'方法中做的那樣(這可能會被刪除) – tilo

+0

所以,這是對的嗎?這只是一個例子@tilo - (無效)prepareForSegue:(UIStoryboardSegue *)賽格瑞發件人:(ID)發送方 { AufnahmeIstDetailDetailViewController * aufnahmeistDetail = [原因請看destinationViewController]; int selectedRow = [self.tableView indexPathForSelectedRow] .row; 如果(istAufnahmeInt == 0){ aufnahmeistDetail.titelString = [[NSString的頁頭] initWithString:[[gesetzeArray objectAtIndex:selectedRow] objectForKey:@ 「名」]]; aufnahmeistDetail.title = [[gesetzeArray objectAtIndex:selectedRow] objectForKey:@「name」]; } } – user3734506

1

這聽起來像它要麼是一個內部的應用程序或一個給定的Messmittel和Lieferanten陣列OBI,但這是出了除了範圍之外。

如果您希望通過故事板抓住控制器,並在傳遞對象的同時繼續使用控制器,則tilo的建議是正確的。

以下是我已經注意到在你的代碼,對從第一AufnahmeIstTableViewController.h

在你didSelectRowAtIndexPath你實際上並不需要檢查值對的字符串,因爲你的陣列是否確實包含這些元素即「Gesetze」,「Verordnungen」,「Technische Regeln」,「Berufsgenossenschaft」等。

所以基本上你可以只到:

controller.istAufnahmeInt = [[self.tableView indexPathForSelectedRow] row]; 

或更安全:

if([self.categoriesArray count] >= [[self.tableView indexPathForSelectedRow] row]) 
{ 
    controller.istAufnahmeInt = [[self.tableView indexPathForSelectedRow] row]; 
} 

現在,在您prepareForSegue

你基本上做同樣的事情出現了。所以,你真的需要做的僅僅是:

controller.istAufnahmeInt = categories.istAufnahmeInt; 

因此,使用直到的建議,字符串傳遞給它的應用相同的邏輯,你的第二個視圖控制器到你的第三個。

希望這會有所幫助。

+0

請問您能否給我發送我需要的代碼,因爲我不知道要在哪裏放三個點? @Unheilig – user3734506