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

1か月後、誰も私に答えませんでした!最後に私はそれを処理することができました:

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 に答える