Dans ton projet, essaie de supprimer le fichier Films/build/Debug/Films
Ah c'est pour ça que ça marche : Philippe49 m'avait demandé de supprimer le dossier build pour lui passer le code. ^^ Sinon, non, il n'avait jamais fonctionné. Donc, pourquoi est-ce qu'en supprimant le build ça remarche ? Et pourquoi ça marche si l'appli est compilé en Anjou ?
Dans ton projet, essaie de supprimer le fichier Films/build/Debug/Films
Ah c'est pour ça que ça marche : Philippe49 m'avait demandé de supprimer le dossier build pour lui passer le code. ^^ Sinon, non, il n'avait jamais fonctionné. Donc, pourquoi est-ce qu'en supprimant le build ça remarche ? Et pourquoi ça marche si l'appli est compilé en Anjou ?
Parce que c'est l'Anjou. Non plus séreiusement il doit traà®ner dans XCode une erreur qui a été commise au départ, et qui n'a pas été corrigée par les compilations suivantes.
Donc en plus de la suppression du Build, tu peux aller dans le menu Build et faire exécuter l'option "Clean All Targets" pour supprimer toute trace des compilations précédentes.
Ouais, viendez en Anjou, c'est quand même un super coin... qui recelle de trésors... surtout rouges et alcoolisésÂ
(Moi, chauvin ? Noann... Bon ceci dit, la Bretagne c'est bien aussi, je vais pas non plus dénigrer ma région d'adoption, surtout qu'on sait bien y boire aussi et que je suis pas prêt de vouloir quitter Rennes non plus ^^)
Bonjour à vous ! je débute dans l'Objective-C et Cocoa et je fais ce super tuto. S Seulement voilà , je bloque.
Je suis à la création de la sheet (3e étape), l'application se lance mais les boutons "fermer" et "Afficher les types..." ne répondent pas... ou plutôt le bouton "Afficher les types" lance une action qui s'éternise (la petite roue de couleur tourne, tourne et tourne toujours...)
- (void)openSheet:(NSWindow *)sheet { [NSApp beginSheet:sheet // La sheet que l'on veut afficher modalForWindow:window // IBOutlet NSWindow *window; dans la déclaration d'interface modalDelegate:self didEndSelector:@selector(endSel) //La méthode appelée à la fermeture de la sheet contextInfo:NULL]; // Non utilisé ici [NSApp runModalForWindow:sheet]; [NSApp endSheet:sheet]; [sheet orderOut:self]; }
- (IBAction)closeSheet:(id)sender { [NSApp stopModal]; // l'application ferme la fenêtre modale située au premier plan }
- (void)endSel { //NSLog(@\nend of sheet); // on peut faire afficher l'action dans le Run Log // mais on ne l'utilise pas }
- (IBAction)showTypesSujets:(id)sender { [self openSheet:typesSujetsPanel]; // l'outlet que l'on a déclaré comme paramètre dans .h // de la fonction générique d'ouverture de sheet } ...
Je ne trouve malheureusement pas mon erreur... :why?:
Je ne trouve malheureusement pas mon erreur... :why?:
En ce cas, point de mystère mon fils, reprend pas à pas le détail de l'excellent tuto de Uocram, qui est de la plus pure sagesse, tu as sûrement oublié un truc : vérifie les connections dans IB, l'exact remplissage des inspecteurs dans IB, relie les quelques erreurs commises par ceux qui t'ont précédés dans ce post, et surtout reste calme ... osx-dev est avec toi :brule:
Autrement, tu peux utiliser la technique des mouchards : NSLog(@%@",objetQuonVeutRegarder); à mettre sans restriction dans les méthodes appelées par l'action que tu déclenches et qui provoque la roulette de l'enfer.
J'ai tout recommencé... toujours a même chose... il y probablement une étape qui me manque quelque part.
Quand je fais Build and Go, l'application se lance. Mais déjà , ce sont deux fenêtre séparée qui s'ouvrent (j'ai vu que je pouvais cocher une option pour que mon Panel ne s'ouvre pas au démarrage). La panel n'est-il pas censé être "inclus" dans ma fenêtre principale ?
Lorsque je clique sur le bouton "Afficher les types", j'ai toujours la même chose : moulinette...
Le panel est en sheet, et doit apparaà®tre en descendant sous la barre supérieure de la fenêtre. Il faut décocher effectivement l'option comme tu l'as fait.
Quand à savoir à l'aveugle le détail que tu n'as pas fait, il n'y a que toi qui peut le trouver sur ton code.
Je ne comprend vraiment rien... Tous semble OK (les binds, ...). Je pense que le seul problème qui entraà®ne tous les autres est le fait que mon panel ne soit pas considéré comme "sheet".
Puis-je envoyer à l'un d'entre vous mon projet zippé afin de m'aider ?
OK, j'envoie ça tout de suite. Le fait que ce soit des fichiers .xib et non .nib a-t-il une importance ? je suis parti du principe que s'était du à la nouvelle mouture de la suite developer...
Manifestement UOCram a transféré son fichier initial en site Web, et un gri gri s'est glissé à la page Sheets. Il faut mettre (par exemple) :
- (void)openSheet:(NSWindow *)sheet<br />{<br /> [NSApp beginSheet:sheet // La sheet que l'on veut afficher<br /> modalForWindow:window // IBOutlet NSWindow *window; dans le déclaration d'interface<br /> modalDelegate:self<br /> didEndSelector:@selector(endSel) // La méthode appelée à la fermeture de la sheet<br /> contextInfo:NULL]; // Non utilisé ici<br /> [NSApp runModalForWindow:sheet];<br />}<br /><br />- (IBAction)closeSheet:(id)sender<br />{<br /> [typesSujetsPanel orderOut:self];<br /> [NSApp endSheet:typesSujetsPanel];<br /> [NSApp stopModal]; // l'application ferme la fenêtre modale située au premier plan<br />}<br /><br />- (void)endSel<br />{<br /> NSLog(@"\nend of sheet"); // on peut faire afficher l'action dans le Run Log<br /> // mais on ne l'utilise pas<br />}
ça marche ! Mais alors, j'ai rien compris à pourquoi le tuto présentait un telle erreur... Le code à taper était pourtant sous la forme d'une image, donc non modifiable...
Le tuto initial n'avait pas d'erreur, mais il a du le réécrire sous la forme iWeb et mal recopié ... (avec iWeb, certains textes trop enrichis par des effets d'ombres, de reliefs, ... sont carrément mis sous forme d'images)
Pour le moment, presque tout se passe bien, cependant il y a n truc un peu bizarre... Avant de passer à l'étape "Customisons un NSArrayController", mes données étaient sauvegardées, ce qui n'est plus cas depuis cette étape ?
Ne rentre que très peu de données tant que tu n'as pas fini les modifications du dataModel. À chaque modification elles seront inutilisables et tu devras détruire le fichier de données (TonApp.xml dans ApplicationsSupport/TonApp) ce qui en créera un nouveau vierge et conforme au nouveau dataModel. Une autre possibilité de ne pas retrouver les données, c'est l'erreur de binding
Un super article d'uocram sur l'utilisation de Core Data. Pour aider de nombreux débutants à utiliser Core Data, Jean-Marc a créé un tutorial pas-à -pas en HTML.
Un super article d'uocram sur l'utilisation de Core Data. Pour aider de nombreux débutants à utiliser Core Data, Jean-Marc a créé un tutorial pas-à -pas en HTML.
Euh, il a disparu ce tuto ? Il n'est plus accessible en tout cas. Il est possible de corriger ça, parce que les bons tutos en français ne sont pas légions. Merci d'avance.
Réponses
Si oui, après quelle manip a-t-il arrêté de fonctionner?
Ah c'est pour ça que ça marche : Philippe49 m'avait demandé de supprimer le dossier build pour lui passer le code. ^^
Sinon, non, il n'avait jamais fonctionné.
Donc, pourquoi est-ce qu'en supprimant le build ça remarche ?
Et pourquoi ça marche si l'appli est compilé en Anjou ?
Parce que c'est l'Anjou.
Non plus séreiusement il doit traà®ner dans XCode une erreur qui a été commise au départ, et qui n'a pas été corrigée par les compilations suivantes.
Donc en plus de la suppression du Build, tu peux aller dans le menu Build et faire exécuter l'option "Clean All Targets" pour supprimer toute trace des compilations précédentes.
Merci pour votre aide ! Je continue le tuto... ^^
Cela dit, c'est vrai que l'Anjou a plus d'un trésor...
(Moi, chauvin ? Noann... Bon ceci dit, la Bretagne c'est bien aussi, je vais pas non plus dénigrer ma région d'adoption, surtout qu'on sait bien y boire aussi et que je suis pas prêt de vouloir quitter Rennes non plus ^^)
je débute dans l'Objective-C et Cocoa et je fais ce super tuto. S
Seulement voilà , je bloque.
Je suis à la création de la sheet (3e étape), l'application se lance mais les boutons "fermer" et "Afficher les types..." ne répondent pas... ou plutôt le bouton "Afficher les types" lance une action qui s'éternise (la petite roue de couleur tourne, tourne et tourne toujours...)
j'utilise Xcode 3.1.1
voici mes deux pages
CodeEnStock_AppDelegate.h
CodeEnStock_AppDelegate.m (partie modifiée)
Je ne trouve malheureusement pas mon erreur... :why?:
En ce cas, point de mystère mon fils, reprend pas à pas le détail de l'excellent tuto de Uocram, qui est de la plus pure sagesse, tu as sûrement oublié un truc : vérifie les connections dans IB, l'exact remplissage des inspecteurs dans IB, relie les quelques erreurs commises par ceux qui t'ont précédés dans ce post, et surtout reste calme ... osx-dev est avec toi :brule:
Autrement, tu peux utiliser la technique des mouchards : NSLog(@%@",objetQuonVeutRegarder);
à mettre sans restriction dans les méthodes appelées par l'action que tu déclenches et qui provoque la roulette de l'enfer.
voir aussi les recommandations de l'auteur qui est en retraite actuellement dans un monastère tibétain.
D'ailleurs que dire d'un homme qui a de telles citations :
Un saint homme, un bonze, une référence monacale.
Je vais essayer de reprendre ça tête reposée...
Y a-t-il des différences majeures dans la façon d'utiliser IB entre les dernières versions ?
il y probablement une étape qui me manque quelque part.
Quand je fais Build and Go, l'application se lance. Mais déjà , ce sont deux fenêtre séparée qui s'ouvrent (j'ai vu que je pouvais cocher une option pour que mon Panel ne s'ouvre pas au démarrage). La panel n'est-il pas censé être "inclus" dans ma fenêtre principale ?
Lorsque je clique sur le bouton "Afficher les types", j'ai toujours la même chose : moulinette...
Une idée de là où ça peut venir ?
Merci
Quand à savoir à l'aveugle le détail que tu n'as pas fait, il n'y a que toi qui peut le trouver sur ton code.
Tous semble OK (les binds, ...).
Je pense que le seul problème qui entraà®ne tous les autres est le fait que mon panel ne soit pas considéré comme "sheet".
Puis-je envoyer à l'un d'entre vous mon projet zippé afin de m'aider ?
Le fait que ce soit des fichiers .xib et non .nib a-t-il une importance ?
je suis parti du principe que s'était du à la nouvelle mouture de la suite developer...
[MAJ] c'est envoyé !
Aucun problème
D'autre part le panel doit être réglé ainsi :
Mais alors, j'ai rien compris à pourquoi le tuto présentait un telle erreur... Le code à taper était pourtant sous la forme d'une image, donc non modifiable...
Je continue mon avance !
Le gros défaut des monastères thibétains est le thé au beurre rance qui ne peut rivaliser avec un "Vieilles vignes"
T'as raison! le beurre devait être plus que rance...
Une solution "propre" et plus générique (utilisable pour traiter les méthodes de validation) pourrait être :
Et dans le tuto, à ce moment là , tu peux utiliser indifféremment validateSheet: ou cancelSheet:
Pour le moment, presque tout se passe bien, cependant il y a n truc un peu bizarre...
Avant de passer à l'étape "Customisons un NSArrayController", mes données étaient sauvegardées, ce qui n'est plus cas depuis cette étape ?
est-ce normal ?
Une autre possibilité de ne pas retrouver les données, c'est l'erreur de binding
Bonjour, merci de reposter le lien ça m'intéresse.
Bon surf
Lunair.
Euh, il a disparu ce tuto ? Il n'est plus accessible en tout cas. Il est possible de corriger ça, parce que les bons tutos en français ne sont pas légions. Merci d'avance.
tata !