【问题标题】:Change selected object with multiple nsarraycontrollers使用多个 nsarraycontroller 更改选定对象
【发布时间】:2025-12-18 13:10:02
【问题描述】:

我正在尝试实现developer.apple.com 上所示的示例 一切正常,但 selectedWeapon 不会改变。

Q1:我不知道我忘记了什么,所以选择可以正常工作 Q2:根据 Apple 的说法,“该示例不需要实际代码来设置用户界面”。我正在从代码中填充对象。有什么办法可以在XIB的arrayController中添加对象?

@implementation Combatant

- (instancetype)initWithName:(NSString *)aName
{
  self = [super init];
  if (self) {
    _weapons = @[@"Dagger", @"Sword", @"Pike"];
    _name = aName;
    _selectedWeapon = [_weapons firstObject];
  }
  return self;
}

@end

@interface Combatant : NSObject


@property (nonatomic, strong) NSString *name;
@property id selectedWeapon;
@property NSArray *weapons;

- (instancetype)initWithName:(NSString *)aName;

@end

存储库:https://github.com/xhruso00/moderatelyComplexBindings

【问题讨论】:

    标签: objective-c macos cocoa binding nsarraycontroller


    【解决方案1】:

    Q1:NSPopupButton 的选择索引没有链接到 arrayController。没有它,arrayController 不知道选择了哪个选项。 Q2:不可能。 Apple 谈论胶水代码。

    【讨论】:

      最近更新 更多