2010-09-07 80 views
2

我是Objective-C的新手。我使用NSArrayController来填充NSTableView。最初,我得到了在表格视图中选择的所有行。我无法找到背后的原因。如何防止在启动时选择NSTableView的所有行

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

我们将不能够找到或者,如果你不发布的原因任何代码。 – Gary 2010-09-07 04:54:53

+0

这里不可能发布完整的代码..但我可以解释我的过程,我将对象添加到NSArrayController对象。我将该数组控制器绑定到nstableview.I有5个NSTableView在不同的-2选项卡中。第一个标签的nstableview的最后一个元素。之后,我得到每个选项卡的每个nstableview所选的所有行。 – 2010-09-07 05:13:39

回答

0

NSArrayController有一个属性selectsInsertedObjects。如果是,则插入的对象被标记为选中,包括由addObject:添加的对象。

您可以在属性设置为NO,或者你可以用下面的添加项目后取消设置的选择:

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