0

也许我很愚蠢,但我花了整个下午试图弄清楚这一点。我是一名 Objective C 新手,但在其他语言方面有丰富的经验。

我有两个NSCollectionView-在一个菜单内*eventsView*projectsView每个都有自己itemPrototype的两个子类,NSCollectionViewItem它们都有自己的 .xib 文件。

问题是它始终是第一个加载的 .xib 文件 - 对于两者NSCollectionViewItem。所以projectsView不会加载它自己的 .xib 但它会加载eventsView一个。有趣的是,如果我删除了那个 .xib,两者都会加载第二个 .xib,而之前没有人加载过。

我已经用完了在 Google 上搜索的关键字,所以我来了。

代码(虽然我不知道这很重要)是:

NSMenuItem *events = [[NSMenuItem alloc] init];
self.eventsView = [[NSCollectionView alloc] initWithFrame:NSZeroRect];
HeadquartersEventsViewItem *eventsPrototype = [[HeadquartersEventsViewItem alloc] init];
[self.eventsView setItemPrototype:eventsPrototype];
[events setView:self.eventsView];
[self.menu addItem:events];

[self fetchEvents];

[self.menu addItem:[NSMenuItem separatorItem]];

NSMenuItem *projects = [[NSMenuItem alloc] init];
self.projectsView = [[NSCollectionView alloc] initWithFrame:NSZeroRect];
HeadquartersProjectsViewItem *projectsPrototype = [[HeadquartersProjectsViewItem alloc] init];
[self.projectsView setItemPrototype:projectsPrototype];
[projects setView:self.projectsView];
[self.menu addItem:projects];

[self fetchProjects];

问题在哪里?为什么 Xcode 不区分这两个 .xib?

4

0 回答 0