0

Voici mon problème: J'ai un programme Core Data-Document avec ARC (Automatic Reference Counting); Je veux que la tableView affiche quelques données au début. mais je ne reçois rien. Voici ce que je l'ai fait:Comment pré-remplir un NSTableView lié à un ArrayController dans un Core Data (basé sur un document)

1- J'ai fait des données de base avec l'entité: MyData

enter image description here

2- puis j'ai ajouté un NSArrayController et lié à managedObjectContext et MyData

enter image description here

enter image description here

3- I lié à la arrayController COL0:

enter image description here

4- alors faite et de sortie et @synthesize ajoutées pour la arrayController:

enter image description here

5- Enfin ajouté le code suivant:

  • (void) windowControllerDidLoadNib: (NSWindowController *) aController {

    [super windowControllerDidLoadNib: aController];

    pour (NSUInteger i = 0; i < 5; i ++) {

    [myArrayController add:self]; 
    
    [myArrayController setSelectionIndex: i]; 
    
    [myArrayController setValue:@"test" forKeyPath:@"selection.col0"]; 
    
    NSLog(@"%lu",[myArrayController selectionIndex]); 
    

    }}

Mais c'est le problème: rien ne se passe et le SelectionIndex montre numéros étranges !!

enter image description here

Toute aide appréciée

Répondre

0

Après un mois personne ne m'a répondu! finalement je pourrais le manipuler:

erreur NSError *;

NSInteger count=0; 

NSNumber* N=[[NSNumber alloc]initWithInt:0]; 

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 

NSEntityDescription * entityMyData = [NSEntityDescription entityForName:@"MyData" 
                inManagedObjectContext:[self managedObjectContext]]; 

[fetchRequest setEntity:entityMyData]; 


count=[self.managedObjectContext countForFetchRequest:fetchRequest error:&error]; 



    if (count==0) { 


     for (NSInteger i=count+1; i<RowsToAdd+count+1; i++) { 

      [email protected](i); 

      managedObject = [NSEntityDescription insertNewObjectForEntityForName:@"MyData" 
                  inManagedObjectContext:[self managedObjectContext]]; 

      [managedObject setValue:N forKey:@"col0"]; 

      [managedObject setValue:N forKey:@"col1"]; 


     } 



    } 
Questions connexes