NSArrayController 用于多态类

发布于 2024-12-06 15:59:48 字数 645 浏览 0 评论 0原文

我有以下(精简的)类接口:

@interface ScriptEvent : NSObject {
  ...
}

@interface SingleLine : ScriptEvent {
  NSString *line;
}

@interface MultiLine : ScriptEvent {
  NSArray *lines;
}

另一个父类包含一个包含 ScriptEvent 列表的 NSArray (可以是 SingleLineMultiLine)。

在我的 XIB 中,我有一个 NSArrayController 绑定到这个 ScriptEvent 列表,我想设置一个主/细节安排。因此,我有一个链接到此 NSArrayControllerNSTableView,并且我想根据 的选定成员是否显示不同详细信息面板NSArrayController 是一个 SingleLine 或一个 MultiLine

这可能吗?

I have the following (stripped down) class interfaces:

@interface ScriptEvent : NSObject {
  ...
}

@interface SingleLine : ScriptEvent {
  NSString *line;
}

@interface MultiLine : ScriptEvent {
  NSArray *lines;
}

Another parent class holds an NSArray containing a list of ScriptEvents (which will either be SingleLine or MultiLine).

In my XIB I have an NSArrayController bound to this list of ScriptEvents and I want to set up a master/detail arrangement. So I have an NSTableView linking to this NSArrayController and I want to show a different detail panel depending on whether the selected member of the NSArrayController is a SingleLine or a MultiLine.

Is this possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心不设防 2024-12-13 15:59:48

检查所选成员是 SingleLine 还是 MultiLine:

if([objectToCheck isKindOfClass:[SingleLine class]]){
    //Do some staff
}else if([objectToCheck isKindOfClass:[MultiLine class]]){
    //
}else{
    //
}

Check if the selected member is a SingleLine or a MultiLine with:

if([objectToCheck isKindOfClass:[SingleLine class]]){
    //Do some staff
}else if([objectToCheck isKindOfClass:[MultiLine class]]){
    //
}else{
    //
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文