2010-12-04 32 views
1

J'essaie d'écrire un "Hello World" pour iPhone 4. Comme c'est ma première tentative de développement d'applications iPhone, et ma première expérience avec Objective C, n'hésitez pas à supposer que vous devez m'apprendre comment sucer des oeufs sur celui-ci.Ajouter et modifier des étiquettes sur l'iPhone? (IOS4 +)

Comme ma fondation, j'ai commencé avec le tutoriel http://appsamuck.com/day1.html - mais il est tellement obsolète que je ne vais pas arriver à moins que je ne déconstruit les étapes.

À ce stade, je suis à la recherche dans la partie où il vous indique comment ajouter une étiquette à l'affichage ET ajouter la référence à l'étiquette.

Malheureusement, il ne semble pas que tout se corresponde bien.

Essentiellement, ce que je voudrais le simulateur faire quand je lance le bouton « Exécuter et CONSTRUIT » est pour le « MyLabel » pour changer de lire « ICI »

quand tout fonctionne, il n'y a pas erreurs, mais cdLabel.text ne change pas pour lire "ICI".

J'ai une photo de l'installation GUI de base - et peut poster toute autre information nécessaire.

le ViewController.h lit:

@interface MinutesToMidnightViewController : UIViewController { 
    IBOutlet UILabel *cdLabel; 
} 
-(void)updateLabel; 

le ViewController.m a la fonction suivante dans le:

-(void)updateLabel { 
    cdLabel.text = [NSString: "HERE"]; 
} 

Enfin - il y a une photo de la façon dont je l'ai mis en place les bits de l'interface graphique dans le concepteur d'interface :

S'il y a quelqu'un qui peut connecter le point sur ce dernier bit, je serais très reconnaissant! (Aussi les directions pour les tutoriels de débutant IOS4 ou APPS open source seraient très appréciées :)

Merci! - Un

MISE À JOUR: En réponse à la question de savoir quand dois-je appeler updateLabel

J'ai la fonction

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    [viewController updateLabel]; 
} 

construit dans mon fichier MinutesToMidnightAppDelegate.m

+1

Quand appelez-vous updateLabel? – VdesmedT

Répondre

1

Synthétisez cdLabel dans votre fichier .m et définissez votre label.text dans viewDidLoad. En outre, [NSString: "Ici"] ne fonctionnera pas. Il suffit d'utiliser cdLabel.text = @"HERE"; (Lequel est le même que: cdLabel.text = [NSString stringWithFormat:@"HERE"];

+0

cela a fonctionné! merci Maintenant à la prochaine phase du puzzle - comment écrire et appeler une fonction dans le cadre IOS. –

1

question bien écrit (+1 pour cela)

Je suis surpris de cette ligne compile:

cdLabel.text = [NSString: "HERE"]; 

essayez ceci:

cdLabel.text = @"HERE"; // this is how you write a literal NSString 

si cela ne fonctionne pas, mettre un point d'arrêt sur cette ligne et vérifier que cdLabel n'est pas nul. Si elle est nulle, revenez en arrière et vérifiez votre connexion dans IB. Il est difficile de voir la résolution que vous avez affichée, mais cela semble correct si je plisse les yeux.:)

Où est-ce que updateLabel est appelé?

EDIT

applicationDidFinishLaunching: est appelée avant le point de vue de votre viewController est normalement chargé. En fait, cette méthode présentera généralement la première vue de viewController.

Dans tous les cas, vous devez configurer votre point de vue en - [UIViewController viewDidLoad], qui est appelée après ce point de vue est chargé (comme vous devinez probablement du nom)

ou - [UIViewController viewWillAppear] si vous voulez le faire chaque fois que la vue apparaît.

+0

Merci pour la réponse J'ai corrigé l'appel de la chaîne littérale Je vais mettre à jour ce qui précède avec plus d'informations sur la façon dont je J'essaye d'appeler la fonction updateLabel –