2014-06-25 3 views
-6

Когда я запускаю мое приложение, нажмите на ячейку в моем RootViewController (AufnahmeIstTableViewController), он открывает свой DetailViewController (AufnahmeISTDetailTableViewController) .Когда я затем нажмите на ячейку, он должен открыть третий ViewController (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?).

С другой стороны, у вас ужасное количество жесткого кодирования в контроллерах вашего вида. Вы должны отделить свои данные от своих просмотров.

0

в вашем втором контроллере просмотра вы устанавливаете titelString и textString на 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 *) переход отправителя (идентификатор) отправитель { AufnahmeIstDetailDetailViewController * aufnahmeistDetail = [destinationViewController непосредственно перейти]; int selectedRow = [self.tableView indexPathForSelectedRow] .row; , если (istAufnahmeInt == 0) { aufnahmeistDetail.titelString = [[NSString Alloc] initWithString: [[gesetzeArray objectAtIndex: selectedRow] objectForKey: @ "имя"]]; aufnahmeistDetail.title = [[gesetzeArray objectAtIndex: selectedRow] objectForKey: @ "name"]; } } – user3734506

1

Похоже, это либо в доме App или один для OBI, учитывая Messmittel и Lieferanten массивы, но это выходит из масштаба и с этим в сторону.

Предложение tilo верное, если вы хотели бы получить контроль над контроллером через раскадровку и перейти к нему, одновременно передавая ему объекты.

Вот что я заметил в своем коде, с самого первого AufnahmeIstTableViewController.h:

В вашей didSelectRowAtIndexPath вы на самом деле не нужно проверять значения против строки, потому что ваш массив, в действительности, содержит те элементы «Гешец», «Вердерннунген», «Технический Регельн», «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

Смежные вопросы