Objective c 从动态字典填充NSOutlineView
在我的应用程序中,我有一个NSOutlineView,它应该显示NSDictionary中的数据。此词典是从服务器获取的,每次获取时可能会非常不同。 它通常有很多子对象,比如其他字典和数组,这些子对象本身常常包含其他字典和数组 我知道如何在数据是静态的情况下填充NSOutlineView,但我很难将其编码为动态数据 当以对象的形式显示数据时,设置列单元格的名称也很困难。 因此,让我们假设在字典中有一个数组存储在“first array”键下。我想用“first array”来命名表示该数组的可扩展单元。但问题是只有项本身被传递到下面的函数中。 我可以遍历字典并搜索对象,然后获取其键,但是如果数组位于某个远子对象中,或者有两个相同的数组,该怎么办Objective c 从动态字典填充NSOutlineView,objective-c,macos,nsdictionary,populate,nsoutlineview,Objective C,Macos,Nsdictionary,Populate,Nsoutlineview,在我的应用程序中,我有一个NSOutlineView,它应该显示NSDictionary中的数据。此词典是从服务器获取的,每次获取时可能会非常不同。 它通常有很多子对象,比如其他字典和数组,这些子对象本身常常包含其他字典和数组 我知道如何在数据是静态的情况下填充NSOutlineView,但我很难将其编码为动态数据 当以对象的形式显示数据时,设置列单元格的名称也很困难。 因此,让我们假设在字典中有一个数组存储在“first array”键下。我想用“first array”来命名表示该数组的可扩
- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)theColumn byItem:(id)item
{
if ([item isKindOfClass:[NSString class]]) {
return [NSString stringWithFormat:@"%@",item];
}
if ([item isKindOfClass:[NSArray class]]) {
return ?
}
...
}
我希望有人对我的过程有一些想法,或者知道我可以在哪里寻求更多的帮助。非常感谢