0

这是我的问题:我有一个基于核心数据文档的程序,带有 ARC(自动引用计数);我希望 tableView 在开头显示一些数据。但我什么也没收到。这是我所做的:

1-我用实体制作了一个核心数据:MyData

在此处输入图像描述

2-然后我添加了一个 NSArrayController 并将其绑定到 managedObjectContext 和 MyData

在此处输入图像描述

在此处输入图像描述

3-我将arrayController绑定到col0:

在此处输入图像描述

4-然后制作并出口并为 arrayController 添加@synthesize:

在此处输入图像描述

5-最后添加了这段代码:

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

    [超级 windowControllerDidLoadNib:aController];

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

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

    } }

但这就是问题所在:什么也没发生,而且 SelectionIndex 显示奇怪的数字!!

在此处输入图像描述

任何帮助表示赞赏

4

1 回答 1

0

一个月后没有人回答我!最后我可以处理它:

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++) {

            N=@(i);

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

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

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

            
        }

       
      
    }
于 2012-11-20T11:34:52.057 回答