我是一个.NET开发人员,正在努力学习如何在Mac上做可可编程。我遇到了一个我似乎无法弄清楚或找到答案的问题。无法弄清楚如何做到这一点可可绑定
我创建了以下类:
ITObject
- NSObject的 的子类
ITPlayer
- ITObject 的子类
ITEnemy
- ITObject 的子类
在我MainMenu.xib
文件我有包含以下控件的窗口:
NSArrayController
- 链接到应用程序代表(itObjects)NSTableView
- 链接到NSArrayController的(arrangedObjects)NSTextBox
- 链接到相同的NSArrayController的(selection.player)
itObjects是我用来包含任何ITObject类的NSMutableArray。 NSArrayController被设置为使用ITObject作为类。当我将ITPlayer添加到itObjects属性时,文本框不会读取播放器属性。
播放器属性是ITPlayer独有的。如果玩家属性不属于该类,我想在文本框中显示“N/A
”,如果它存在,我希望绑定显示该值。现在,它什么也没做。这是针对ITObject(显然)头文件
@interface ITObject:NSObject <NSCoding>{
int initiativeRoll, initiativeBonus, initiativeKicker;
}
@property int initiativeRoll, initiativeBonus, initiativeKicker;
@property (readonly) int initiativeTotal, initiativeCalc;
@end
:在对象上
的更多信息:
的代码的项目看起来是这样的。 ITEnemy和ITPlayer都是这样设置的(仅限于此)。
@interface ITPLayer:ITOjbect <NSCoding>{
NSString *player;
}
@property (copy) NSString *player;
@end
为ITPlayer init方法是建立在实现文件中是这样的:
- (void)init{
self = [super init]
if (self){
player = @"undefined";
}
return self;
}
还有一个的initWithCoder:方法,但我还没有被使用,所以我不要不认为这是可疑的。
非常感谢您的帮助!
你的描述很好。建议您包含代码,以便帮助您进行调试。 –
确实没有太多的代码要显示。大多数ITObject都有几个属性,而ITPlayer和ITEnemy还有其他几个属性。我会认为这更多的是因为我对可可绑定缺乏了解......我不知道该如何发布,哈哈。 –