| |||||||
| Développement sur Mac XCode, Cocoa et Carbon, AppleScript ou Java ; le forum des développeurs Mac. |
![]() |
| | Outils de la discussion | Modes d'affichage |
| | [objective C] NSTableView | #1 | ||||||
| Membre junior Date d'inscription: 27/11/09
Messages: 16
Disco: ![]() |
bonjour, je suis nouveau sur le forum et nouveau en programmation ( cocoa ) j'ai un problème en faite je veux afficher dans un tableau ce que l'utilisateur rentre dans un text box mais il ne veux pas l'afficher en graphique alors que quand j'affiche mon tableau en console il est bien rempli je suppose que c'est un problème avec NSTableView mais je ne trouve pas lequel merci mon bouton submit pointe sur createANewItem et le data source pointe bien sur l'objet Code: @implementation AppControler
- (id)init{
[super init];
pense=[[NSMutableArray alloc] init];
return self;
}
- (IBAction)createNewitem:(id)sender{
NSString *string=[textfield stringValue];
[pense addObject:string];
NSLog(@"%@ %d",[pense description],[pense count]);
}
- (int)numberOfRowsInTableView:(NSTableView *)tv{
NSLog(@"ici22");
return [pense count];
}
- (id)tableView:(NSTableView *)tableView
objectValueForTableColumn:(NSTableColumn *)tableColumn
row:(NSInteger)row
{
NSLog(@"ici");
NSString *v =[pense objectAtIndex:row];
return v;
}
j'ai oublié le .h #import <Cocoa/Cocoa.h> @interface AppControler : NSObject { IBOutlet NSTextField *textfield; IBOutlet NSTableView *tableview; NSMutableArray *pense; } - (IBAction)createNewitem id)sender;@end | |||||||
| Dernière modification par kazou_22 ; 27/11/2009 à 16h08. | ||||||||
| | | |||||||
| | #2 | |||||||
| Membre émérite Date d'inscription: 06/10/04 Localisation: Saint-Leu-d'Esserent / Oise / France
Messages: 763
Disco: ![]() ![]() |
Il faut d'abord comprendre comment fonctionne une table view: - c'est la table view qui réclame les données à sa datasource - il faut donc faire de ton AppController la datasource de ta table view. Pour cela, sous IB, tire l'outlet datasource de la table vers ton instance d'AppController. - quand les données de la data source sont modifiées, en particulier quand tu ajoutes un élément à la liste, il faut demander à la table view de se réafficher en lui envoyant un message -[reloadData]. Ça devrait marcher. Par ailleurs, renseigne-toi sur le paradigme MVC (Modèle-Vue-Contrôleur), car ici tu mélanges le modèle (les données), et le contrôleur (AppController). C'est une notion essentielle dans Cocoa. Dans tous les cas, je te conseille très fortement la lecture de Programmation Cocoa sous Mac OS X, d'Aaron Hillegass, aux éditions Pearson. | |||||||
|
--------------------
C é r o c e www.ceroce.com www.cocoa.fr | ||||||||
| | | |||||||
| | #3 | |||||||
| Membre junior Date d'inscription: 27/11/09
Messages: 16
Disco: ![]() |
j'ai deja lu ce livre , mais je l'ai lu très vite ( en 3jours ) donc pas évident de tout comprendre. dans tout les cas ca marche donc merci beaucoup | |||||||
| | | |||||||
| | #4 | |||||||
| Vétéran Date d'inscription: 15/10/04 Localisation: 92
Messages: 8319
Disco: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | ||||||||
| | | |||||||
![]() |
| Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s)) | |
| Outils de la discussion | |
| Modes d'affichage | |
| |
Discussions similaires | ||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| NSTableView | phlabbe94 | Développement sur Mac | 12 | 09/04/2008 13h46 |
| Info NSTableView | bassman_fr | Développement sur Mac | 5 | 23/05/2005 11h41 |
| XCode 2.0 et NSTableView | olof | Développement sur Mac | 3 | 16/05/2005 22h21 |
| NSTableView | ben401 | Développement sur Mac | 3 | 11/02/2005 15h26 |
| Hide a NSTableView | Vinche | Développement sur Mac | 2 | 26/09/2003 03h01 |