2010-10-24 5 views
0

DetailViewController.mtexte Étiquette non initialisant dans la nouvelle vue iphone

code:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NSString *navTitle = self.navigationItem.title; 
    NSString *stalklabel = self.labelforurl.text; 
    NSLog(@"%@", stalklabel); 
    NSURL *address = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.twostepmedia.co.uk/json.php?q=%@",stalklabel]]; 
    responseData = [[NSMutableData data] retain]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:address]; 
    [[NSURLConnection alloc] initWithRequest:request delegate:self]; 

    //NSString *address = [NSString stringWithFormat:@"http://www.twostepmedia.co.uk/json.php?q=%@",na]; 
    //[self initiateRequest:address]; 
    //NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:address]]; 

    //[[NSURLConnection alloc] initWithRequest:request delegate:self]; 

} 

RootViewController.m

code:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 
    //Initialize the detail view controller and display it. 
    DetailViewController *dvController = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:[NSBundle mainBundle]]; 
    [self.navigationController pushViewController:dvController animated:YES]; 
    NSManagedObject *managedObject = [self.fetchedResultsController objectAtIndexPath:indexPath]; 
    dvController.navigationItem.title=[[managedObject valueForKey:@"data"] description]; 
    dvController.labelforurl.text = [[managedObject valueForKey:@"data"] description]; 
    [dvController release]; 
    dvController = nil; 
} 

La sortie de NSLog est « Étiquette "?? Donc quand j'essaie de l'incorporer dans l'URL, il ne revient qu'avec "Label" ??

Des idées?

+0

Que montre réellement l'étiquette? Êtes-vous sûr de définir la valeur * avant * d'y accéder? – Eiko

+0

C'est bizarre parce que l'étiquette se lit bien! Par conséquent pourquoi j'ai pensé qu'il était étrange qu'il NSLogs comme "Label". Que voulez-vous dire par le définir avant d'y accéder? Comment ferais-je cela? – benhowdle89

+1

"Étiquette" sonne comme une valeur prédéfinie que vous modifiez plus tard dans le code en quelque chose de significatif, c'est-à-dire dans votre méthode tableView: didSelectRowAtIndexPath:. Mais lorsque vous définissez le texte de l'étiquette, la méthode viewDidLoad a probablement déjà été exécutée, donc vous ne travaillez pas avec la valeur que vous voulez. – Eiko

Répondre

0

Dans InterfaceBuilder, ou quelque part dans le code, votre labelforurl a une valeur de Label. Changez cette valeur pour un résultat différent. Si vous voulez le changer dans IB, utilisez un UITextField au lieu d'un UIlabel.

Questions connexes