2010-12-05 48 views
0

Essayer de comparer une date (indiquée dans une étiquette, «alimentée» par un NSDate) et une chaîne que j'ai spécifiée afin de désactiver un bouton. L'étiquette affiche la date correctement et il n'y a pas d'erreur fatale mais le bouton n'est pas affecté. Des pensées? Je sais que cela peut sembler basique, alors je m'excuse; J'ai seulement appris quelques semaines dans le temps libre à partir de divers tutoriels - semble être une courbe d'apprentissage géant.Bouton d'ignorance d'une instruction SI liée à la date pour une raison quelconque

-(IBAction) pushCurrentTime; { 


NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //NSDate from date 
[dateFormatter setDateFormat:@"EEE"]; 
labelDate.text = [dateFormatter stringFromDate:[NSDate date]]; 

NSString *daytocompare = @"Sun"; 
labelShows.text =daytocompare; 

if([daytocompare isEqualToString:labelDate.text]) { 
    buttontosatnoon.enabled = NO; 
    } 
else{ 
    buttontosatnoon.enabled = YES; 

peut voir la date dans les étiquettes, donc je sais que les obtenir, mais pour une raison quelconque le bouton reste tout de même si se demander si le fait « Si » la déclaration doivent être exprimées différemment? Toute information est très appréciée, merci :)

Répondre

0

Si buttontosatnoon est une sortie (c.-à-d., Le bouton n'a pas été créé dans le code), êtes-vous sûr qu'il est connecté dans Interface Builder? Êtes-vous sûr que la chaîne du bouton est @ "Sun"? Si vous définissez un point d'arrêt dans la méthode -pushCurrentTime: et debug (vous êtes en utilisant le débogueur, n'est-ce pas?), Êtes-vous sûr qu'aucun de vos points de vente est nul et les chaînes égalent ce que vous pensez qu'ils font?

+0

Salut Joshua, merci beaucoup pour votre aide! On dirait qu'il retournait un zéro à cause d'une erreur de liaison IB. Une erreur aussi simple m'a coûté très cher le temps. Btw, oui, le débogueur est pratique. Salutations :) – Louise

+0

Heureux de vous aider. Veuillez marquer les réponses comme acceptées si elles fonctionnent pour vous afin que ceux qui vous aident à gagner des points de réputation pour leurs efforts. –