Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 使用绑定填充NSOutlineView-KVO添加项_Cocoa_Cocoa Bindings_Nsoutlineview_Nstreecontroller - Fatal编程技术网

Cocoa 使用绑定填充NSOutlineView-KVO添加项

Cocoa 使用绑定填充NSOutlineView-KVO添加项,cocoa,cocoa-bindings,nsoutlineview,nstreecontroller,Cocoa,Cocoa Bindings,Nsoutlineview,Nstreecontroller,在我的一个项目中使用NSOutlineView之前,我已经创建了一个小测试项目来使用它。我成功地使用NSTreeController(其内容绑定到数组)显示了包含子项的项目列表 现在,当我创建这个对象时,我花了很长时间才意识到,只有在我的init方法中创建数组内容时,才会显示它们: -(id)init { self=[super init] if (self) { results = [NSMutableArray new]; NSMutableArray *collecti

在我的一个项目中使用NSOutlineView之前,我已经创建了一个小测试项目来使用它。我成功地使用NSTreeController(其内容绑定到数组)显示了包含子项的项目列表

现在,当我创建这个对象时,我花了很长时间才意识到,只有在我的init方法中创建数组内容时,才会显示它们: -(id)init { self=[super init]

if (self) {
    results = [NSMutableArray new];

    NSMutableArray *collection = [[NSMutableArray alloc] init];

        // Insert code here to initialize your application
    NSMutableDictionary *aDict = [[NSMutableDictionary alloc] init];
    [aDict setValue:@"Activities" forKey:@"name"];

    NSMutableArray *anArray = [NSMutableArray new];

    for (int i; i<=3 ; i++) {
        NSMutableDictionary *dict = [NSMutableDictionary new];
        [dict setValue:[NSString stringWithFormat:@"Activity %d", i] forKeyPath:@"name"];
        [anArray addObject:dict];
    }

    results = collection;

}

return self;
}
我还尝试在添加对象后在outlineview上调用reloadData,但似乎没有调用。我缺少什么

以下是我的项目链接:

找到此答案后:

结果是,NSTreeController对
performSelector:@selector(对象重新排列)和object:afterDelay:

添加对象后调用此函数可以显示新对象。

如果不强制立即执行
对象
,我相信它会延迟到下一次运行循环迭代,如
获取
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
NSMutableDictionary *cDict = [[NSMutableDictionary alloc] init];
[cDict setValue:@"Calls" forKey:@"name"];
[results addObject:cDict];
[outlineView reloadData];
}