2010-09-07 4 views
2

Je suis nouveau à Objective-C. J'utilise NSArrayController pour remplir NSTableView. Au départ, toutes les lignes sont sélectionnées dans la vue de la table. Je suis incapable de trouver la raison derrière cela.Comment empêcher que toutes les lignes d'un NSTableView soient sélectionnées au démarrage

for(int i=0;i<nCount;i++) 
{ 
    NSString *fileName_File = [[[filenames objectAtIndex:i] lastPathComponent] stringByDeletingPathExtension]; 

    NSString *pathExtension = [[filenames objectAtIndex:i] pathExtension]; 
    NSString *yourPath = [filenames objectAtIndex:i]; 
    NSFileManager *fmgr = [[NSFileManager alloc] init]; 
    NSDictionary *attrs = [fmgr attributesOfItemAtPath: yourPath error: nil]; 
    [attrs retain]; 
    UInt32 result = [attrs fileSize]; 
    /*NSString * zStr1 = [[NSString alloc]initWithFormat:@"%d",i+1]; 
    NSString * zStr2 = [[NSString alloc]initWithFormat:@"%@",fileName_File]; 
    NSString * zStr3 = [[NSString alloc]initWithFormat:@"%@",pathExtension]; 
    NSString * zStr4 = [[NSString alloc]initWithFormat:@"%d",result]; 
    NSString * zStr5 = [[NSString alloc]initWithFormat:@"%@",[filenames objectAtIndex:i]];*/ 
    CMyMediaData * MyMediaObj = [[CMyMediaData alloc]initWithString1:[[NSString alloc]initWithFormat:@"%@",@""] 
                  andString2:[[NSString alloc]initWithFormat:@"%@",fileName_File] 
                  andString3:[[[NSString alloc]initWithFormat:@"%@",pathExtension]uppercaseString] 
                  andString4:[[NSString alloc]initWithFormat:@"%d",result] 
                  andString5:[[NSString alloc]initWithFormat:@"%@",[filenames objectAtIndex:i]] 
            ]; 
    [attrs release]; 
    [mMedia.mcMediaController.mcTableViewMyMedia addObject:MyMediaObj]; 
    //[mMedia.nsMutaryOfDataObject addObject:MyMediaObj]; 
} this is the code to add data to nsarraycontroller object.mcMediaController is object of NSArrayController 
+1

Nous ne serons pas en mesure de trouver la raison soit si vous ne publiez pas n'importe quel code. – Gary

+0

il n'est pas possible de poster du code complet ici..Mais je peux expliquer mon processus, j'ajoute un objet à l'objet NSArrayController.Ans je lie ce contrôleur de tableau à nstableview.J'ai 5 NSTableView dans différents-2 tabs.J'obtiens dernier élément de nstableview du premier onglet. et après cela, je reçois toutes les lignes sélectionnées de chaque nstableview de chaque onglet. –

Répondre

0

NSArrayController a la propriété selectsInsertedObjects. Si c'est OUI, les objets insérés sont marqués sélectionnés, y compris ceux ajoutés par addObject:.

Vous pouvez définir cette propriété sur NO, ou vous pouvez utiliser ce qui suit pour désinitialiser la sélection après avoir ajouté les articles:

mMedia.mcMediaController.mcTableViewMyMedia.selectedObjects = @[]; 
Questions connexes